Code for newton-rapshon ( x, y)

3 次查看(过去 30 天)
Cesar Castro
Cesar Castro 2021-9-21
Hello everyone
I am in a course of numerical methods, where I need to apply the newton raphson method for two variables, I have tried source codes, however I always receive an error. Someone could provide me with the solution and explain what happens?. Thank you.
Other methods ( root in 1)
x(1)^4+x(2)^4+2*x(1)^2*x(2)^2-4*x(1)+3

回答(1 个)

Manan Jain
Manan Jain 2021-9-22
function [root,ea,iter]=newtraph(func,dfunc,xr,es,maxit,varargin)
% newtraph: Newton−Raphson root location zeroes
% % [root,ea,iter]=newtraph(func,dfunc,xr,es,maxit,p1,p2,...):
% % uses Newton−Raphson method to find the root of func
% % input:
% % func = name of function
% % dfunc = name of derivative of function
% % xr = initial guess
% % es = desired relative error (default = 0.0001%)
% % maxit = maximum allowable iterations (default = 50)
% % p1,p2,... = additional parameters used by function
% % output:
% % root = real root
% % ea = approximate relative error (%)
% % iter = number of iterations
if nargin<3,
error('at least 3 input arguments required'),
end if
nargin<4|isempty(es),es=0.0001;
end if
nargin<5|isempty(maxit),maxit=50;
end iter = 0;
while (1) xrold = xr;
xr = xr func(xr)/dfunc(xr);
iter = iter + 1;
if xr ~= 0,
ea = abs((xr xrold)/xr) * 100;
end if
ea <= es | iter >= maxit,
break,
end
end
root = xr;
end

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by