Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function [] = newton(funcao, a, b, erro, alpha, x0)
- % paulogp
- % Aplicacao do metodo de newton
- % Exemplo: met_newton('x^2+x-6', 3, 6, 10^-2, 10^-2, 1.5)
- % Resultado:
- % - Funcao derivada g = 2*x+1
- % - Numero de iteracoes = 1
- % - x = 2.00076219512195
- disp(' ');
- % condicao geral ((b - a) < (1 / alpha))
- if (b-a) > (1./alpha)
- disp('Falta uma condicao de aplicabilidade!');
- disp(' ');
- return
- end
- % formato de saida
- format long
- % string para funcao
- f = inline(funcao);
- % derivada da funcao
- syms x;
- h = char(diff(f(x)));
- g = inline(h);
- % formula recursiva
- x1 = x0-f(x0)/g(x0);
- % numero de interacoes
- nf = ceil((1/log(2))*log((log(alpha*erro))/(log(alpha*(b-a)))));
- % metodo
- for n=1:nf
- x0 = x1-f(x1)/g(x1);
- x1 = x0;
- end
- % saida de valores
- disp(' ');
- disp(['Funcao derivada g = ' h]);
- disp(' ');
- disp(['Numero de iteracoes = ' mat2str(nf)]);
- disp(' ');
- disp(['x = ' mat2str(x0)]);
- disp(' ');
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement