function []=blatt7() z0=[0.5,0.5]; [a,b]=newton(@f, @gradf, @hessf, z0) figure; hold on; X=[-1:0.01:1]; Y=[-1:0.01:1]; [X,Y]=meshgrid(X,Y); Z=sqrt( X.^2+ Y.^2 +1); contour(X,Y,Z,10); plot(a(1,:),a(2,:),'k--x'); end function [z, fz] = newton( f, gradf, hessf, z0) i=1; z(:,i)=z0; fz(i)=f(z(:,i)); gradfz(:,i)=gradf(z(:,i)) hessfz(:,:,i)=hessf(z(:,i)) while norm( gradfz(:,i) ) > 0.000001 z(:,i+1) = z(:,i) - inv(hessf(z(:,i)))*gradfz(:,i); fz(i+1) = f(z(:,i+1)); gradfz(:,i+1) = gradf(z(:,i+1)) hessfz(:,:,i+1) = hessf(z(:,i+1)) i=i+1; end end function y = f(z) y = sqrt( z(1,1)^2 + z(2,1)^2 + 1); end function y = gradf(z) y = [ z(1,1)/sqrt(z(1,1)^2+z(2,1)^2+1) ; z(2,1)/sqrt(z(1,1)^2+z(2,1)^2+1)]; end function y = hessf(z) y = [ 1/sqrt(z(1,1)^2+z(2,1)^2+1) - z(1,1)^2/sqrt(z(1,1)^2+z(2,1)^2+1)^3,-z(1,1)*z(2,1)/sqrt(z(1,1)^2+z(2,1)^2+1)^3;-z(1,1)*z(2,1)/sqrt(z(1,1)^2+z(2,1)^2+1)^3, 1/sqrt(z(1,1)^2+z(2,1)^2+1) - z(2,1)^2/sqrt(z(1,1)^2+z(2,1)^2+1)^3]; end