Write a program in Matlab using Newtons method to solve this
Write a program in Matlab using Newton\'s method to solve this system of equations for x, y, and z...
Solution
f=inline(\'[-10*p(:,1)-10*p(:,2); 28*p(:,1)-p(:,2)-p(:,1).*p(:,3); p(:,1).*p(:,2)-(8*p(:,3))/2]\',\'p\');
tol = 0.4e-6; %error tolerance
 MaxIter = 10;
format long
 x = sym(\'x\') ;
 y = sym(\'y\') ;
 z = sym(\'z\') ;
 F = f([x,y,z]);
 J = jacobian(F);
 invJ = inv(J);
 s = zeros(MaxIter,3);
 s(1,:) = [1 1 1]; % first set of values
 dsnorm = inf;
 iter = 1;
 while dsnorm>tol && iter<MaxIter
 ds = -subs(invJ,[x y z],s(iter,:))*f(s(iter,:));
 s(iter+1,:) = s(iter,:) + ds\';
 dsnorm = norm(ds,inf);
 iter = iter+1;
 end
 s = s(1:iter,:)
 %
s(1,:) = [6 6 27]; % second set of values
 dsnorm = inf;
 iter = 1;
 while dsnorm>tol && iter<MaxIter
 ds = -subs(invJ,[x y z],s(iter,:))*f(s(iter,:));
 s(iter+1,:) = s(iter,:) + ds\';
 dsnorm = norm(ds,inf);
 iter = iter+1;
 end
 s = s(1:iter,:)
s(1,:) = [-6 -6 27]; % third set of values
 dsnorm = inf;
 iter = 1;
 while dsnorm>tol && iter<MaxIter
 ds = -subs(invJ,[x y z],s(iter,:))*f(s(iter,:));
 s(iter+1,:) = s(iter,:) + ds\';
 dsnorm = norm(ds,inf);
 iter = iter+1;
 end
 s = s(1:iter,:)
%end of code

