I get the following error in Newton Ralphson code?Can any one predict the mistake?If i use RETURN instead of break at last(21 line),then error "Not enough input arguments" appears as shown in image.
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Machine Learning Enthusiast
le 17 Mai 2016
Commenté : Machine Learning Enthusiast
le 19 Mai 2016
f
function [x,iter]=newton(x0,f,fp)
% newton-raphson algorithm
N = 100; eps = 1.e-5; % define max. no. iterations and error
maxval = 10000.0; % define value for divergence
xx = x0;
while (N>0)
xn = xx-f(xx)/fp(xx);
if abs(f(xn))<eps
x=xn;iter=100-N;
return;
end;
if abs(f(xx))>maxval
disp(['iterations = ',num2str(iter)]);
error('Solution diverges');
break;
end;
N = N - 1;
xx = xn;
end;
error('No convergence');
break;
% end function
0 commentaires
Réponses (1)
Walter Roberson
le 17 Mai 2016
Modifié(e) : Walter Roberson
le 17 Mai 2016
You cannot just run that code by giving its name newton . You need to supply the three parameters. For example,
newton(12.345, @(x) sin(x) + 3/4, @(x) cos(x))
3 commentaires
Walter Roberson
le 18 Mai 2016
You would not rewrite the code: you would give a command at the command line like I show.
You could write a second .m file that contained those commands, if you wanted.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!