Integração numérica - Método da Quadratura Gaussiana
Publicado por Daniel Moreira dos Santos (última atualização em 02/09/2009)
[ Hits: 14.483 ]
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); }
Exibe quantos números perfeitos foram digitados
Validar CPF em C++ (esse funciona)
Boletim Escolar Com Manipulação de Arquivo
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta