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

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

[ Hits: 14.472 ]

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

A - Comando streql

Comando strieql

Jogo para adivinhar o numero

Comando strlen

Mini-editor de texto intuitivo em ncurses


  

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