Pesquisar neste blog

03/11/2018

Algoritmo: Método de Newton - Raphson

#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: