Advertisement
paulogp

Metodo de Newton Bilateral

Aug 7th, 2011
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MatLab 1.06 KB | None | 0 0
  1. function[z2] = bilateralnewton(funcao, x0, nf, xr, m0)
  2. % paulogp
  3. % Aproxima-se da raiz pelos dois lados da funcao atraves das variantes de
  4. % "Falsa Posicao" e "Declive Fixo" do metodo iterativo de Newton.
  5.  
  6. % x0 segue as mesmas regras do iterativo normal de newton
  7. % nf  - numero de iteracoes que vamos querer fazer
  8. % xr - ponto onde vamos fixar a falsa posicao
  9. % m0 - declive da recta necessaria na variante de declive fixo
  10. n = 0;
  11. x = x0;
  12. F = inline(funcao);
  13. y = F(xr);
  14. % ciclo com subfuncoes:
  15. % (por testar)
  16. % while n < nf
  17. %   n = n + 1;
  18. %   y = vfposicao(funcao, x, n, xr);
  19. %   z = y
  20. %   x = vdecfixo(funcao, m0, z, n)
  21. % end
  22. while n < nf
  23.     n = n + 1;
  24.     x = x-(F(x)/(F(x)-y))*(x-xr);
  25.     z1 = x;
  26.     z2 = z1-(F(z1)/m0);
  27. end
  28.  
  29. % z1 e z2 tendem para o mesmo valor por lados opostos. z2 estar mais
  30. % proximo por ser em funcao de z1.
  31.  
  32. % se quiser verificar as varias alteracoes e a aproximacao raiz por ambos os lados uso o seguinte
  33. % ciclo:
  34. % while n < nf
  35. %    n = n + 1
  36. %    x = x-(F(x)/(F(x)-y))*(x-xr);
  37. %    z1 = x
  38. %    z2 = z1-(F(z1)/m0)
  39. % end
  40. %
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement