Os cincos primeiros termos da séries de fourier
Publicado por Franklin Anderson de Oliveira Souza 11/03/2005
[ Hits: 26.652 ]
Homepage: http://fisica.ufmt.br/~franklinbr/
Um programa que tras a solução grafica para uma aproximacao de um função matematica simples do tipó f(x)=x usando series de fourier, no caso somente os cincos primeiros termos. Seram gerados o arquivo com os dados e um script para ser visualizado no gnuplot, um bonito gráfico 2d.
#include <stdio.h> #include <stdlib.h> #include <math.h> script_gnu () { FILE *script; script = fopen ("script.gnu", "w"); int i; fprintf (script, "set yrange [-3.3:3.3]\n"); fprintf (script, "set xrange [-180:180]\n"); fprintf (script, "plot 'dados.dat' u 1:2 with dots\n"); for (i = 3; i <= 7; i++) { fprintf (script, "replot 'dados.dat' u 1:%d with dots \n", i); } fclose (script); return (0); } equation_series (float count) { float n1, n2, n3, n4, n5, x; FILE *fp; fp = fopen ("dados.dat", "w"); for (x = -180; x <= 180; x += count) { n1 = 2.0 * sin ((x * 3.14) / 180.0); n2 = -sin ((2.0 * x * 3.14) / 180.0); n3 = (2.0 / 3.0) * sin ((3.0 * x * 3.14) / 180.0); n4 = -(1.0 / 2.0) * sin ((4.0 * x * 3.14) / 180.0); n5 = (2.0 / 5.0) * sin ((5.0 * x * 3.14) / 180.0); printf (" %f %f %f %f %f %f %f\n", x, n1, n2, n3, n4, n5, (n1 + n2 + n3 + n4 + n5)); fprintf (fp, "%f %f %f %f %f %f %f\n", x, n1, n2, n3, n4, n5, (n1 + n2 + n3 + n4 + n5)); } fclose (fp); return (0); } main (int argc, char **argv) { float count; if (argc != 2) { printf ("Eh necessario um incremento.\n Exemplo\n\n./programa <incremento>\n\t./programa 0.5\n\n"); } else { count = atof (argv[1]); equation_series (count); printf ("\nValores gerados, para visualizar use o Gnuplot...\n\n"); printf ("$ gnuplot\ngnuplot> load 'script.gnu'\n\n"); script_gnu (); printf ("Script Gnuplot Gerado ...\n\n"); printf ("Aguarde...\n"); sleep (3); system ("ls -lh *.dat *.gnu"); } return (0); }
Shadow Mapping utilizando OpenGL e Cg
Nenhum comentário foi encontrado.
Instalar e Configurar o Slackware Linux em 2025
Como configurar os repositórios do apt no Debian 12 em 2025
Passkeys: A Evolução da Autenticação Digital
Instalação de distro Linux em computadores, netbooks, etc, em rede com o Clonezilla
Configurando o Conky para iniciar corretamente no sistema
3 configurações básicas que podem melhorar muito a sua edição pelo editor nano
Como colorir os logs do terminal com ccze
Instalação Microsoft Edge no Linux Mint 22
Como configurar posicionamento e movimento de janelas no Lubuntu (Openbox) com atalhos de teclado
driver do repositorio debian nao atende o requisito minimo [RESOLVIDO]... (9)
Novo problema! Erro durante a atualização! (7)
Linux Mint não conecta Wi-Fi sem fio (1)
Tenho um problama de quebra de pacote e não descobri como resolver [RE... (2)