Enter password:
%% Solving Example 1 from the texbook p651 % initial guess x = [0.1,0.1,-0.1]'; % Tolerance and maximum iterations TOL = 1e-6; N = 7; % Broyden's method A = J(x); v = F(x); A = inv(A); s = - A*v; x = x + s; k = 2; success = 0; while k <= N w = v; v = F(x); y = v - w; z = -A*y; p = - s' * z; u = s' * A; tmp = (s + z) * u; A = A + 1/p * tmp; s = - A*v; x = x + s; if norm(s) < TOL success = 1; break end k = k + 1; end if success == 1 fprintf("The procedure was successful.\n") else fprintf("The procedure was unsuccessful.\n") end x function val = F(x) val1 = 3 * x(1) - cos(x(2)*x(3)) - 1/2; val2 = x(1)^2 - 81 * (x(2)+0.1)^2 + sin(x(3)) + 1.06; val3 = exp(-x(1)*x(2)) + 20*x(3) + (10*pi - 3)/3; val = [val1, val2, val3]'; end function val = J(x) val = [3 , x(3) * sin(x(2)*x(3)) , x(2) * sin(x(2)*x(3)); 2*x(1) , -162 * (x(2) + 0.1) , cos(x(3)); -x(2)*exp(-x(1)*x(2)), -x(1) * exp(-x(1)*x(2)) , 20]; end