Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function[z2] = bilateralnewton(funcao, x0, nf, xr, m0)
- % paulogp
- % Aproxima-se da raiz pelos dois lados da funcao atraves das variantes de
- % "Falsa Posicao" e "Declive Fixo" do metodo iterativo de Newton.
- % x0 segue as mesmas regras do iterativo normal de newton
- % nf - numero de iteracoes que vamos querer fazer
- % xr - ponto onde vamos fixar a falsa posicao
- % m0 - declive da recta necessaria na variante de declive fixo
- n = 0;
- x = x0;
- F = inline(funcao);
- y = F(xr);
- % ciclo com subfuncoes:
- % (por testar)
- % while n < nf
- % n = n + 1;
- % y = vfposicao(funcao, x, n, xr);
- % z = y
- % x = vdecfixo(funcao, m0, z, n)
- % end
- while n < nf
- n = n + 1;
- x = x-(F(x)/(F(x)-y))*(x-xr);
- z1 = x;
- z2 = z1-(F(z1)/m0);
- end
- % z1 e z2 tendem para o mesmo valor por lados opostos. z2 estar mais
- % proximo por ser em funcao de z1.
- % se quiser verificar as varias alteracoes e a aproximacao raiz por ambos os lados uso o seguinte
- % ciclo:
- % while n < nf
- % n = n + 1
- % x = x-(F(x)/(F(x)-y))*(x-xr);
- % z1 = x
- % z2 = z1-(F(z1)/m0)
- % end
- %
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement