function Xn = pokoorspust_crtanje2D(max_iter) %Zadatak 7.42 % Graficki prikazati metodu pokoordinatnog spusta za odredjivanje minimuma % fje F(x,y)=x^2+y^2+xy polazeci od x0=1, y0=2 sa tacnoscu 1e-4, %max_iter-maksimalan broj iteracija %Xn-minimum funkcionala %poziv: Xn = pokoorspust_crtanje2D(100) % Xn = pokoorspust_crtanje2D(10) %Funkcional F=@(x,y) x^2+y^2+x*y; %Gradijent dFx=@(x,y) 2*x+y; dFy=@(x,y) 2*y+x; %Hesijan H=[2 1;1 2] % Pocetna iteracija x=1; y=2; Xs=[x;y]; tol=1e-4; hold on ind=1; %ind=1 krecemo se po x osi, ind=0 krecemo se po y osi for k=1:max_iter ind=mod(k-1,2)+1; %jer imamo 2 promenljive % d(k)=e(k)=[0 .. 0 1 0 .. 0] d=zeros(1,2)'; d(ind)=1; L=-[dFx(x,y) dFy(x,y)]*d/(d'*H*d); Xn=Xs+L*d; %nova iteracija plot([Xs(1),Xn(1)],[Xs(2),Xn(2)]); %crtamo pomeraj, dovoljno je zadati krajnje tacke if(norm(Xn-Xs)