8976


0x01 graphic

Zachodniopomorski Uniwersytet Technologiczny

Metody optymalizacji

Temat: Metoda najszybszego spadku.

Wykonawca:

Paweł Nowak

AiR N1 III

Prowadzący:

Dr P. Orłowski

Data:

09.04.2011r.

Ocena:

Podpis:

Kazda zmiana w funkcjach musi być zapisana przed uruchomieniem pliku głównego

function f=fc(x1,x2)

f=2*x1^2+50*x2^2;

f=25*(x1+x2)^2+(-x1+x2)^2

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

f=25*abs(2*x1-x2-4)+abs(4*x1+3*x2+8)

function gr=gradi(x1,x2)

delta= tutaj podajesz swoja wartosc;

pfpx1=-(fc(x1,x2)-fc(x1+delta,x2))/delta;

pfpx2=-(fc(x1,x2)-fc(x1,x2+delta))/delta;

gr=[pfpx1;pfpx2];

function h=hessi(x1,x2)

del= tutaj podajesz swoja wartość taka sama jak w gradi;

gr0=gradi(x1,x2);

gr1=gradi(x1-del,x2);

gr2=gradi(x1,x2-del);

fpx11=(gr0-gr1)/del;

fpx22=(gr0-gr2)/del;

h=[fpx11,fpx22];

program główny

N=0;

blad=Inf;

x1=2;

x2=2;

p=[]; |

o=[]; |patent michała na sciezke

i=0; |

while blad>wartosc bledu musi byc mniejsza niz delta(w gradi i hessi)

gr=gradi(x1,x2);

h=hessi(x1,x2);

alfa=gr'*gr/(gr'*h*gr);

xn=[x1;x2]-alfa*gr;

%xn=[x1;x2]-h^-1; metoda newtona (nie ma zrobionego tego w sprawozdaniu ale wy już musicie)

blad=norm(xn-[x1;x2]);

x1=xn(1);

x2=xn(2);

i=i+1; |

p(i)=xn(1); | patent michała na sciezke

o(i)=xn(2); |

N=N+1;

end

x1

x2

fc(x1,x2)

N

Lp.

Funkcja

xpocz

xest

ε

δ

N

f(x)

1.

f=2*x1^2+50*x2^2

[2;2]

[x1;x2]

0.01

0.001

N

fc

2.

f=2*x1^2+50*x2^2

[2;2]

3.

f=2*x1^2+50*x2^2

[2;2]

4.

f=2*x1^2+50*x2^2

[2;2]

5.

f=2*x1^2+50*x2^2

[2;2]

6.

f=2*x1^2+50*x2^2

[2;2]

7.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

8.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

9.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

10.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

11.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

12.

f=25*(x1+x2)^2+(-x1+x2)^2

[2;2]

13.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

14.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

15.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

16.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

17.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

18.

f=100*(x1^2-x2^2)^2+20*(x1^4+x2^2)^2

[2;2]

19

f=25*abs(2*x1-x2-4)+abs(4*x1+3*x2+8)

[2;2]

20.

f=25*abs(2*x1-x2-4)+abs(4*x1+3*x2+8)

[2;2]

Wykres funkcji:

[X,Y] = meshgrid(-od:krok:do, od:.krok:do); np. (-2:0.1:2, -2:0.1:2) zakres wartości dobierz samemu tak żeby ladnie wychodzilo

Z = 100*(X.^2-Y.^2)^2+20*(X.^4+Y.^2)^2;

surf(X,Y,Z)

0x01 graphic

Contour(X,Y,Z,to jest chyba ilość probek tez sam dobierasz ja dalem 10000)

0x01 graphic

hold on

plot(o,p,'r*') ściezka

0x01 graphic



Wyszukiwarka

Podobne podstrony:
8976
8976
8976
8976
1 35 rozwiązania zadańid 8976
8976

więcej podobnych podstron