#include <stdio.h>
#include <math.h>//biblioteca trigonométrica
double f(double a){ //Funcão
return (pow(M_E,-a)-a);
}
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
printf("|%-3d| %.10lf| %.14lf\t|\n", i, x, errorAtual);
x = y;
if(i > iteracao){ //verifica as interacoes
return printf("Nao foi encontrada raiz dentro do numero dessas interacoes\n ");
}
}while (errorAtual >= error);
}
void main(){
metodo(0,0.000001, 30); //Chama o metodo ja passando os parametros valor do x, pressicao, numero maximo de interacoes
}
Nenhum comentário:
Postar um comentário