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 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Machine Learning Enthusiast
il 17 Mag 2016
Commentato: Machine Learning Enthusiast
il 19 Mag 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 Commenti
Risposte (1)
Walter Roberson
il 17 Mag 2016
Modificato: Walter Roberson
il 17 Mag 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 Commenti
Walter Roberson
il 18 Mag 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.
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!