Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function s = f(x)
- s = 2*x**3 - cos(x+1) - 3;
- endfunction
- function s = metodoPegaso(a, b, Toler, IterMax)
- // ENTRADA
- // a = lim Inf
- // b = lim Sup
- s = zeros(3);
- Fa = f(a); Fb = f(b);
- x = b; Fx = Fb; Iter = 0;
- while(1)
- DeltaX = (-1)*Fx/(Fb - Fa)*(b-a);
- x = x + DeltaX; Fx = f(x);
- printf("%g %.4g %.4g %.4g %.4g %.4g %.4g \n", a, Fa, b, Fb, x, Fx, DeltaX);
- if( ( abs(DeltaX) <= Toler & abs(Fx) <= Toler ) | (Iter >= IterMax) )
- break;
- end
- if( Fx * Fb < 0 )
- a = b; Fa = Fb;
- else
- Fa = Fa * Fb/(Fb + Fx);
- end
- b = x; Fb = Fx;
- Iter = Iter + 1;
- end
- Raiz = x;
- if(abs(DeltaX) <= Toler & abs(Fx) <= Toler)
- CondErro = 0;
- else
- CondErro = 1;
- end
- // Saida
- s(1) = Raiz;
- s(2) = Iter;
- s(3) = CondErro;
- endfunction
- a = -1;
- b = 2;
- Toler = 0.01;
- IterMax = 100;
- disp(metodoPegaso(a,b,Toler,IterMax));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement