Integração numérica - Método da Quadratura Gaussiana
Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)
[ Hits: 14.811 ]
Homepage: http://www.danielmoreira.wordpress.com
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.
#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);
}
Alocando espaço para uma matriz dinamicamente
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Linux Mint: Zram + Swapfile em Btrfs
O widget do Plasma 6 Área de Notificação
Quando vocês pararam de testar distros? (16)
Quero instalar, configurar, setar tamanho do rsyslog. (5)









