Buscar

Metodo de Newton Raphson modificado em matlab

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

% Diogo Munhoz e Cezar Cardozo
clear;
clc;
format long
syms x; % necessário para poder "trabalhar" com a função
fun(x) = input ('Digite uma função: ');% Função
func = fun(x); % Função base
f = matlabFunction(func); % Converte a função para um formato em que o matlab consegue entender
% Calculo da derivada
dif = diff(func); % calcula a derivada da função base
d = matlabFunction(dif); % Converte a derivada para um formato em que o matlab consegue entender
% Chute inicial
format long
Val_inic = input ('Digite um valor inicial para Xo: ');
a(1)= Val_inic ;
% Erro e Iteraçoes
errorr = input ('O erro relativo percentual máximo: ');
iteracoes = input ('O numero de iterações desejadas: ');
iterac = iteracoes;
error=(errorr/100); %Pois o valor que entrar estará em percentual
for i=1:iterac % loop de 1 ate o valor de entrada de iterações
 a(i+1)=a(i)-((f(a(i)))*(d(a(i))))/([(d(a(i)))]^2-(f(a(i)))*(d(d(a(i)))));
 err(i)=abs((a(i+1)-a(i))/a(i));
 
 
 if err(i)<error % se o erro for atingido antes do numero iteracoes o loop para
 break
 end
end
resp =a(i); % a raiz é o ultimo item calculado
disp ('A solução : ');
disp (resp); % imprime a raiz pelo método
valor =a(i+1);
disp('O valor da função na solução:');
disp (valor);
fprintf('Numero de iterações realizadas : %d \n', iterac);

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais