close all; clc,clear
xy = [0 1];
iter=0;
maxiter=40;
xy_N = 1e3;
TOL = 1e-2;
error1 = [1, 1];
f = zeros(iter, 2);
error = zeros(iter, 2);
while xy_N>TOL
iter=iter+1;
x = xy(1);
y = xy(2);
f(iter,:) = [4*x^2-20*x+0.25*y^2+8, 0.5*x*y^2+2*x+8];
J= [8*x-20, 0.5*y; 0.5*y^2+2, x*y];
xy_new = xy - ((J)\f(iter,:)')';
error1=abs(xy_new-xy);
error(iter,:)=error1;
xy_N = norm(f(iter,:));
XYN(iter) = xy_N;
xy=xy_new;
if (iter > maxiter)
fprintf('*** !!! Did not converge within %3.0f iterations!!! \n', maxiter);
break
end
end
if iter<maxiter
f(iter+1:end,:)=[];
end
fprintf('Number of iterations is: %f \n ', iter)
fprintf('Final values of [x, y] = %f %f \n', xy(end, :));
fprintf('Final values of EQN: %f %f \n', f(end, :));
fprintf('Final values of ERROR: %f %f \n', error(end, :));
semilogy(1:iter,XYN)
xlabel('Iteration number')
ylabel('Norm values'), grid on
title(['Norm values over ' num2str(iter) ' iterations'])
figure
plot(1:iter,f(:, 1)), hold on; plot(1:iter, f(:,2)), grid on;
legend('f_1= 4*x^2-20*x+0.25*y^2+8', 'f_2=0.5*x*y^2+2*x+8')
xlabel('iteration number')
ylabel('Eqn values')