Buscar

Algoritmo para obtenção dos valores da função gama aproximados por uma série

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

//===============================================================================
//Cálculo da Função Gama
//===============================================================================
//===============================================================================
//Bibliotecas
//===============================================================================
#include <iostream>
#include <stdlib.h>
#include <math.h>
#include <iomanip>
#include <fstream>
//===============================================================================
//===============================================================================
//Definição do Padrão C++
//===============================================================================
using namespace std;
//===============================================================================
//===============================================================================
//Definição de Constantes
//===============================================================================
#define pi acos ( - 1 )
//===============================================================================
//===============================================================================
//Subrotina - Cálculo da Função Gama
//=================================================================================================================================================
double fgama ( double x )
{
 double fg, pt1, pt2, pt3 ;
 pt1 = ( exp ( - 0.577216 * x ) ) / x ; 
 pt2 = 1.0 ;
 for ( int i = 1 ; i <= 100000 ; i++ )
 {
 pt2 = pt2 * ( pow ( ( 1 + ( x / i ) ) , -1 ) ) * exp ( x / i ) ; 
 }
 fg = pt1 * pt2 ;
 return fg ;
}
//=================================================================================================================================================
//===============================================================================
//Salvando Resultados no Arquivo
//===============================================================================
void escrita ( fstream& saida )
{
 double h = 0.001;
 double k;
 saida << "Valor de alfa\t\t" << "Valor de Gama (alfa)\n" ;
 for ( int i = 1 ; i <= 10000 ; i++ )
 {
 k = h * i ;
 saida << fixed ;
 saida << setprecision ( 3 ) << k << "\t\t";
 saida<< setprecision ( 5 ) << fgama ( k ) << "\n" ;
 }
}
//===============================================================================
//===============================================================================
//Função Principal
//===============================================================================
int main ()
{
 fstream saida ( "tabela.txt" , ios::in | ios::out | ios::trunc) ;
 escrita ( saida ) ;
 saida.close () ;
 system ( "pluma tabela.txt" ) ;
 return 0;
}
//===============================================================================

Teste o Premium para desbloquear

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

Outros materiais

Materiais relacionados

Perguntas relacionadas

Perguntas Recentes