system "clear" print " " print " " print "============================================================" print " Os direitos do autor e a GPL " print "============================================================" print " " print "Este programa é distribuido sob GPL. " print "Se você não souber o que é a GPL, envie um e-mail ao autor " print " tarcisio@member.ams.org " print "mas em suma quer dizer que você pode usar livremente o sistema" print "de programas aqui mencionados, desde que esta informação seja mantida" print "em todas as alterações que você fizer dos programas e das cópias que " print "você deles fizer - é a proteção do direito autoral que não lhe impede" print "de usar livremente o conhecimento mas que mantém na memória quem " print "participou de sua produção." print "Este programa foi escrito por Tarcisio Praciano-Pereira " print "professor da Universidade Estadual Vale do Acaraú - UeVA " print "Laboratório de Matemática Computacional - Curso de Computação " print "Sobral - Ceará - Brasil " print "Aperte enter para continuar!" pause -2 system "clear" print "Este programa calcula os coeficients de Fourier de uma função definida"; print "no programa, desenvolve o polinômio trigonométrico correspondente"; print "e faz os gráficos dos polinômios de da função f"; print "Os coeficientes de Fourier de uma função são as componentes (escalares) desta"; print "função (vetor) na direção dos vetores básicos do espaço cos(nx) sen(nx) "; print "Procure com um editor de textos as ocorrencias da frase \"altere aqui\" que é"; print "onde você pode (deve) alterar a equação da \"onda eletromagnética\" cujo polinômio"; print "trigonométrico você deseja ver. "; print "Aperte enter para continuar!"; pause -2 system "clear" pi = 4*atan(1); ## o valor aproximado de pi do gnuplot #### delta, riem, four1, four2 #### delta é a precisão para o calculo da integral por soma de Riemann ### riem() função recursiva para calculo de somas de Riemann ### four1, four1 recursivas, transform-integral cos e sen - calcula coef pol trig ############################# delta = 0.001 riem(x,fim,soma)=(x>=fim)?0.5*soma*delta/pi:riem(x+delta,fim,soma+f(x)) ## já divide por 1/2*pi four1(x,fim,n,soma)=(x>=fim)?soma*delta:four1(x+delta,fim,n,soma+f(x)*cos(n*x)) ## coseno four2(x,fim,n,soma)=(x>=fim)?soma*delta:four2(x+delta,fim,n,soma+f(x)*sin(n*x)) ## seno pow(x,n) = x**n; print "No intervalo [",-pi," ,", pi,"] " ; inicio = -pi; fim = -inicio; ## \pm frac{\pi}{2} print "Polinômios trigonométricos até ordem 20 " print "desenvolvido no intervalo [",inicio,",", fim,"]" print "A função cujo polinômio trigonométrico será apresentada é" ####### altere aqui ####################################### ##print " h(x) = sin(x/4.0)*(2.0*x)/(1.0 + x**2) - altere esta função neste ponto - mensagem apenas " print " f(x) =pow(x,2); print "o polinômio trigonométrico de outra função de sua escolha " print "procure o comentário 'equação para ser substituida ' " print "Aperte enter para continuar!" pause -2 system "clear" inicio = -pi; fim = pi print "Calculando passo a passo os coeficientes de Fourier da função " print "um script do gnuplot. " print "Aperte enter para continuar!" pause -2 system "clear" ####### altere aqui ####################################### ##h(x) = sin(x/4.0)*(2.0*x)/(1.0 + x**2) ## equação para ser substituida, deixe "f(x) = ", substitua somente a equação f(x) = pow(x,2); n = 0 ##a0 = (1/(2*pi))*four1(inicio,fim,n,0); a0 = riem(-pi,pi,0) ## soma de riemann inicio, fim, soma, já dividido por 2*pi print "a0 = ", a0 S0(x) = a0; set title "polinomio trigonometrico com um coeficiente " ####set xrange [-3:3] plot 0, f(x), S0(x) pause -2 n = n +1; a1 = (1/pi)*four1(inicio,fim,n,0); ## integral de cos inicio, fim, indice, soma=0 , b1 = (1/pi)*four2(inicio,fim,n,0); ## integral de seno inicio, fim, índice, soma=0, print "
  • a1 = ",a1, " b1 = ",b1 , "
  • "; S1(x) = S0(x)+ a1*cos(x) + b1*sin(x) set title "polinomio trigonometrico com dois coeficientes " ######set xrange [-3:3] plot 0, f(x), S1(x), S0(x), a1*cos(x) + b1*sin(x) pause -2 n = n +1 a2 = (1/pi)*four1(inicio,fim,n,0) b2 = (1/pi)*four2(inicio,fim,n,0) print "
  • a2 = ",a2, " b2 = ",b2 , "
  • "; S2(x) = S1(x)+ a2*cos(2*x) + b2*sin(2*x) set title "polinomio trigonometrico com dois coeficientes " ######set xrange [-3:3] plot 0, f(x), S2(x), S1(x), a2*cos(2*x) + b2*sin(2*x) pause -2 n = n +1 a3 = (1/pi)*four1(inicio,fim,n,0) b3 = (1/pi)*four2(inicio,fim,n,0) print "
  • a3 = ",a3, " b3 = ",b3 , "
  • "; S3(x) = S2(x)+ a3*cos(3*x) + b3*sin(3*x) set title "polinomio trigonometrico com 3 coeficientes" ######set xrange [-3:3] plot 0, f(x), S3(x) pause -2 n = n +1 a4 = (1/pi)*four1(inicio,fim,n,0) b4 = (1/pi)*four2(inicio,fim,n,0) print "
  • a4 = ",a4, " b4 = ",b4, "
  • "; S4(x) = S3(x)+ a4*cos(4*x) + b4*sin(4*x) set title "polinomio trigonometrico com coeficientes 4" ######set xrange [-3:3] plot 0, f(x), S4(x) pause -2 n = n +1 a5 = (1/pi)*four1(inicio,fim,n,0) b5 = (1/pi)*four2(inicio,fim,n,0) print "
  • a5 = ",a5, " b5 = ",b5, "
  • "; S5(x) = S4(x)+ a5*cos(5*x) + b5*sin(5*x) set title "polinomio trigonometrico com coeficientes 5 " ######set xrange [-3:3] plot 0, f(x), S5(x) pause -2 n = n +1 a6 = (1/pi)*four1(inicio,fim,n,0) b6 = (1/pi)*four2(inicio,fim,n,0) print "
  • a6 = ",a6, " b6 = ",b6, "
  • "; S6(x) = S5(x)+ a6*cos(6*x) + b6*sin(6*x) set title "polinomio trigonometrico com coeficientes 6 " ######set xrange [-3:3] plot 0, f(x), S6(x) pause -2 n = n +1 a7 = (1/pi)*four1(inicio,fim,n,0) b7 = (1/pi)*four2(inicio,fim,n,0) print "
  • a7 = ",a7, " b7 = ",b7, "
  • "; S7(x) = S6(x)+ a7*cos(7*x) + b7*sin(7*x) set title "polinomio trigonometrico com coeficientes 7 " ######set xrange [-3:3] plot 0, f(x), S7(x) pause -2 n = n +1 a8 = (1/pi)*four1(inicio,fim,n,0) b8 = (1/pi)*four2(inicio,fim,n,0) print "
  • a8 = ",a8, " b8 = ",b8, "
  • "; S8(x) = S7(x)+ a8*cos(8*x) + b8*sin(8*x) set title "polinomio trigonometrico com coeficientes 8 " ######set xrange [-3:3] plot 0, f(x), S8(x) pause -2 n = n +1 a9 = (1/pi)*four1(inicio,fim,n,0) b9 = (1/pi)*four2(inicio,fim,n,0) print "
  • a9 = ",a9, " b9 = ",b9, "
  • "; S9(x) = S8(x)+ a9*cos(9*x) + b9*sin(9*x) set title "polinomio trigonometrico com coeficientes 9 " ######set xrange [-3:3] plot 0, f(x), S9(x) pause -2 n = n +1 a10 = (1/pi)*four1(inicio,fim,n,0) b10 = (1/pi)*four2(inicio,fim,n,0) print "
  • a10 = ",a10, " b10 = ", b10, "
  • "; S10(x) = S9(x)+ a10*cos(n*x) + b10*sin(n*x) set title "polinomio trigonometrico com coeficientes 10" ######set xrange [-3:3] plot 0, f(x), S10(x) pause -2 n = n +1 a11 = (1/pi)*four1(inicio,fim,n,0) b11 = (1/pi)*four2(inicio,fim,n,0) print "
  • a11 = ",a11, " b11 = ", b11, "
  • "; S11(x) = S10(x)+ a11*cos(n*x) + b11*sin(n*x) set title "polinomio trigonometrico com coeficientes 11" plot 0, f(x), S11(x) pause -2 n = n +1 a12 = (1/pi)*four1(inicio,fim,n,0) b12 = (1/pi)*four2(inicio,fim,n,0) print "
  • a12 = ",a12, " b12 = ", b12, "
  • "; S12(x) = S11(x)+ a12*cos(n*x) + b12*sin(n*x) set title "polinomio trigonometrico com coeficientes 12" plot 0, f(x), S12(x) pause -2 n = n +1 a13 = (1/pi)*four1(inicio,fim,n,0) b13 = (1/pi)*four2(inicio,fim,n,0) print "
  • a13 = ",a13, " b13 = ", b13, "
  • "; S13(x) = S12(x)+ a13*cos(n*x) + b13*sin(n*x) n = n +1 a14 = (1/pi)*four1(inicio,fim,n,0) b14 = (1/pi)*four2(inicio,fim,n,0) print "
  • a14 = ",a14, " b14 = ", b14, "
  • "; S14(x) = S13(x)+ a14*cos(n*x) + b14*sin(n*x) n = n +1 a15 = (1/pi)*four1(inicio,fim,n,0) b15 = (1/pi)*four2(inicio,fim,n,0) print "a15 = ",a15, " b15 = ", b15 S15(x) = S14(x)+ a15*cos(n*x) + b15*sin(n*x) n = n +1 a16 = (1/pi)*four1(inicio,fim,n,0) b16 = (1/pi)*four2(inicio,fim,n,0) print "
  • a16 = ",a16, " b16 = ", b16, "
  • "; S16(x) = S15(x)+ a16*cos(n*x) + b16*sin(n*x) n = n +1 a17 = (1/pi)*four1(inicio,fim,n,0) b17 = (1/pi)*four2(inicio,fim,n,0) print "
  • a17 = ",a17, " b17 = ", b17, "
  • "; S17(x) = S16(x)+ a17*cos(n*x) + b17*sin(n*x) set title "polinomio trigonometrico com coeficientes 17" plot 0, f(x), S17(x) pause -2 n = n +1 a18 = (1/pi)*four1(inicio,fim,n,0) b18 = (1/pi)*four2(inicio,fim,n,0) print "a18 = ",a18, " b18 = ", b18 S18(x) = S17(x)+ a18*cos(n*x) + b18*sin(n*x) n = n +1 a19 = (1/pi)*four1(inicio,fim,n,0) b19 = (1/pi)*four2(inicio,fim,n,0) print "a19 = ",a19, " b19 = ", b19 S19(x) = S18(x)+ a19*cos(n*x) + b19*sin(n*x) n = n +1 a20 = (1/pi)*four1(inicio,fim,n,0) b20 = (1/pi)*four2(inicio,fim,n,0) print "a20 = ",a20, " b20 = ", b20 S20(x) = S19(x)+ a20*cos(n*x) + b20*sin(n*x) set title "polinomio trigonometrico com coeficientes 20" ######set xrange [-3:3] plot 0, f(x), S20(x) pause -2 q