Hoje vou postar aqui o primeiro trabalho de calculo numerico que fiz sobre o metodo de newton raphson, como estava aprendendo a usar o matlab a estrutura ficou extenção e sem muita opção de escolha pro usuario quanto as funções porem acredito que posso ajudar a galera que esta começando o estudo de calculo numerico pra entender como se faz o algoritmo... so lembrando nao copie e cole apenas pra ganhar nota... assim vc estara enganando a vc mesmo...
% metodo_newton_raphson 2.0
disp('Para FUNÇÃO x^2 + x - 6 digite: 1');
disp('Para FUNÇÃO x^5 - 2x digite: 2');
disp('Para FUNÇÃO x^2 + 15 digite: 3');
disp('Para SAIR digite: 0');
disp(' ');
% interação com o usuario:
oper = input('Digite o numero correspondente a funcao: ');
a0 = input(' Entre com o limite inferior da funcao: ');
b0 = input(' Entre com o limite superior da funcao: ');
a = input(' Entre com o numero de iteracoes a serem feitas: ' );
b = 0;
c = 0;
% media dos limites:
x = (a0 + b0)/2 ;
if oper==1 %funçao x^2+x-6
n=0;
while n
form1 = x^3 - 2*x^2 - 3*x + 10;
form2 = 3*x^2 - 4*x -3 ;
raiz = x - (form1/form2);
x = raiz;
n = n+1;
if n==a
% disp ('raiz aproximada da função'); raiz;
str = ['O valor aproximado da raiz é ' num2str(raiz)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
else if oper == 2 %x^5 - 2x
n=0;
while n
form12 = x^5 - 2*x;
form22 = 5* x^4 - 2;
raiz2 = x - (form12/form22);
x = raiz2;
n = n+1;
if n==a
str = ['O valor aproximado da raiz é ' num2str(raiz2)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
else if oper == 3 %x^2 + 15
n=0;
while n
form13 = x^2 + 15;
form23 = 2* x;
raiz3 = x - (form13/form23);
x = raiz3;
n = n+1;
if n==a
str = ['O valor aproximado da raiz é ' num2str(raiz3)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
end
end
end
disp('Para FUNÇÃO x^2 + x - 6 digite: 1');
disp('Para FUNÇÃO x^5 - 2x digite: 2');
disp('Para FUNÇÃO x^2 + 15 digite: 3');
disp('Para SAIR digite: 0');
disp(' ');
% interação com o usuario:
oper = input('Digite o numero correspondente a funcao: ');
a0 = input(' Entre com o limite inferior da funcao: ');
b0 = input(' Entre com o limite superior da funcao: ');
a = input(' Entre com o numero de iteracoes a serem feitas: ' );
b = 0;
c = 0;
% media dos limites:
x = (a0 + b0)/2 ;
if oper==1 %funçao x^2+x-6
n=0;
while n
form1 = x^3 - 2*x^2 - 3*x + 10;
form2 = 3*x^2 - 4*x -3 ;
raiz = x - (form1/form2);
x = raiz;
n = n+1;
if n==a
% disp ('raiz aproximada da função'); raiz;
str = ['O valor aproximado da raiz é ' num2str(raiz)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
else if oper == 2 %x^5 - 2x
n=0;
while n
form12 = x^5 - 2*x;
form22 = 5* x^4 - 2;
raiz2 = x - (form12/form22);
x = raiz2;
n = n+1;
if n==a
str = ['O valor aproximado da raiz é ' num2str(raiz2)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
else if oper == 3 %x^2 + 15
n=0;
while n
form13 = x^2 + 15;
form23 = 2* x;
raiz3 = x - (form13/form23);
x = raiz3;
n = n+1;
if n==a
str = ['O valor aproximado da raiz é ' num2str(raiz3)];
disp(' ');
disp (str);
disp(' ');
disp(' ');
disp(' ');
end
end
end
end
end
beijo pra vcs
otimo feriado galera
adoro muitoo
Nenhum comentário:
Postar um comentário