Integração numérica - Método da Quadratura Gaussiana

Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)

[ Hits: 14.314 ]

Homepage: http://www.danielmoreira.wordpress.com

Download quad_gauss.c




A regra da quadratura gaussiana é uma aproximação da integral de uma função, geralmente estabelecido como um somatório com pesos dos valores assumidos pela função em pontos específicos dentro do domínio de integração. (Descrição adaptada de Wikipédia)

Você pode encontrar facilmente uma tabela de pontos na internet para usar com este programa.

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>

float eval_function(float x){
   return (exp(-(x^2)/2))
}

int main(void){

float a, b, sum=0, point, weight, h, jc;
int n i;
FILE *p;

printf("Extremo esquerdo do intervalo: ");
scanf("%f", &a);
printf("Extremo direito do intervalo: ");
scanf("%f", &b);
printf("Numero de pontos (1<=n<=8): "); /* com apenas 8 pontos temos uma aproximação excelente da integral da função acima */
scanf("%d", &n);

p=fopen("tabela.txt", "r");
if(!p){
  printf("Erro!");
  exit(1);
}

jc=(b-a)/2;
h=(b+a)/2;

for(i=0; i<n; i++){
   fscanf(p, "%f\t%f", &point, &weight);
   sum=sum+ (weight*jc*eval_function(jc*point+h));

}

system("pause");
return (0);
}

Scripts recomendados

Método de Newton-Raphson

Campo Elétrico

Lista encadeada em C

Angelinux Scripts - Palpite para Megasena em C

Crud em C++ orientado a objetos com banco de dados MySQL


  

Comentários
[1] Comentário enviado por ffae em 04/11/2011 - 22:21h

onde eu encontro uma tabela de pontos??
nao eh tao facil axar uma como vc disse!
haha
obrigado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts