Integração numérica - Método da Quadratura Gaussiana
Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)
[ Hits: 14.720 ]
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); }
Busca do código do produto-Vetores----
Shadow Mapping usando OpenGL e Cg
Ajuda para calcular 5 Notas! Não Consigo colocar os gets na formula
Alocando espaço para uma matriz dinamicamente
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Falha com leitor de digitais no Ubuntu: sugestões? (0)
Problema em SSD ao dar boot LinuxMint LMDE FAYE 64 (1)