Integração numérica - Método da Quadratura Gaussiana
Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)
[ Hits: 14.923 ]
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);
}
Angelinux Scripts - Palpite para Megasena em C
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Ocultando asteriscos ao digitar senha no Ubuntu
Continuando meus tópicos anteriores (13)
As Assinaturas Perderam o Negrito e o Itálico? [RESOLVIDO] (1)









