Pesquisar neste blog
24/11/2018
Algoritmo Método de Newton-Rapson C/C++
#include <stdio.h>
#include <math.h>
double f(double a){ //Funcao
return (pow(M_E,-a)-a);
}
//M_E = epsilon
double df(double a){ // Derivada da funcao
return (-pow(M_E,-a))-1;
}
void metodo (double x, double error, int iteracao){ //metodo
double y, errorAtual;
int i = 0;
printf("\n|%-3s|%-13s|%-21s|\n","i","valor de x ", "Erro Aproximado");
do{
i++;
y = x-(f(x)/df(x));//calculo no novo x
errorAtual = fabs((y - x)/y) * 100;//calculo do erro
x = y;
if(i > iteracao){ //verifica as interacoes
printf("Nao foi encontrada raiz dentro do numero dessas interacoes\n ");
return 0;
}else{
printf("|%-3d| %.10lf| %.14lf\t|\n", i, x, errorAtual);
}
}while (errorAtual >= error);
printf("\n\nRaiz = %f \n", x);
}
void main(){
metodo(0,0.0001, 15); //Chama o metodo ja passando os parametros
// valor do x, precisão, numero máximo de interações
}
Assinar:
Postar comentários (Atom)
Nenhum comentário:
Postar um comentário