Buscar

Algoritmo em C++ para resolução de equações pelo método de Newton-Raphson

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

//=========================================================================================
// Programa Método de Newton - Raphson
// Autor: Rafael Yuri Medeiros Barbosa - Graduando em Engenharia Química
//=========================================================================================
//=========================================================================================
// Inclusão Bibliotecas
//=========================================================================================
#include <iostream>
#include <fstream>
#include <math.h>
#include <stdlib.h>
#include <iomanip>
//=========================================================================================
//=========================================================================================
// Definição de Constantes
//=========================================================================================
#define ep 1e-2
#define tol 1e-6
//=========================================================================================
//=========================================================================================
// Definição do Padrão C++ e Constantes
//=========================================================================================
using namespace std;
//=========================================================================================
//=========================================================================================
// Função Primitiva
//=========================================================================================
double fx ( double x )
{
 return ( log ( x ) ) ;
}
//=========================================================================================
// Função Derivada
//=========================================================================================
double derivada ( double x )
{
 double d ;
 d = ( fx ( x + ep ) - fx ( x ) ) / ep ;
 return d ;
}
//=========================================================================================
//=========================================================================================
// Método de Newton - Raphson Para se Encontrar a Raiz da Função
//=========================================================================================
double raiz ( double xi )
{
 double err , x ;
 do
 {
 x = xi - ( fx ( x ) / derivada ( x ) ) ;
 err = fabs ( ( x - xi ) / x ) ;
 xi = x ;
 }while ( err > tol ) ;
 return x ;
}
//=========================================================================================
//=========================================================================================
// Função main ( )
//=========================================================================================
int main ()
{
 double xi , r ;
 cout << "Digite o valor da aproximacao inicial: ";
 cin >> xi ;
 fstream arquivo ( "raiz.dat" , ios::in | ios::out | ios::trunc ) ;
 arquivo << raiz ( xi ) ;
 arquivo.close ( ) ;
 return 0 ;
}
//=========================================================================================
//=========================================================================================
// Fim do Programa
//=========================================================================================

Teste o Premium para desbloquear

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

Continue navegando