Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function y = f(x)
- y = x**4 + 2*x**3 - 13*x**2 - 14*x + 24;
- endfunction
- function s = metodoNewton(x0, Toler, IterMax)
- s = zeros(3);
- fD = numderivative(f, x0);
- Fx = f(x0); DFx = numderivative(f,x0); x = x0; Iter = 0;
- printf("%g %g %g %g\n", Iter, x, DFx, Fx);
- while(1)
- DeltaX = (-1) * Fx/DFx; x = x + DeltaX;
- Fx = f(x); DFx = numderivative(f,x);
- Iter = Iter + 1;
- printf("%g %g %g %g\n", Iter, DFx, Fx, DeltaX);
- if( (abs(DeltaX) <= Toler & abs(Fx) <= Toler) | DFx == 0 | Iter >= IterMax)
- break;
- end
- end
- Raiz = x;
- if(abs(DeltaX) <= Toler & abs(Fx) <= Toler)
- CondErro = 0;
- else
- CondErro = 1;
- end
- s(1) = Raiz;
- s(2) = Iter;
- s(3) = CondErro;
- endfunction
- x0 = 4;
- Toler = 1.0000e-05
- IterMax = 100;
- disp(metodoNewton(x0,Toler,IterMax));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement