Integração numérica - Método da Quadratura Gaussiana
Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)
[ Hits: 14.589 ]
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); }
Os cincos primeiros termos da séries de fourier
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Descritores de Arquivos e Swappiness
Solução rápida para o problema do Network Manager conectar mas não navegar
Como instalar no Linux Jogos da Steam só para Windows
Instalando o Team Viewer no Debian Trixie - problema no Policykit
Problema ao iniciar o Opensuse Tumbleweed [RESOLVIDO] (5)
Redes Wifi não aparecem no Linux Mint cinnamon (4)