Solução de Equações Diferenciais por Séries de Fourier de T(x) = dado inicial
por
Milton Procópio de Borba
> restart;
> Ate:=20:
> T:=piecewise(x>=0 and x<=1,60*x, x>=1 and x<=2,20*x+40, x>=2 and x<=3,-80*x+240);
> plot(T,x=0..3,color=blue);
> s[n]:=sin(n*Pi*x/3);
> bn:=2*int(T*s[n],x=0..3)/3;
> for i to Ate do
> B:=subs(n=i,bn):
> b[i]:=evalf(B)
> od;
> ser_Cal:=0:ser_Ond:=0:
> for n to Ate do
> ser_Cal:=ser_Cal + exp(-t*(n*Pi/3)^2)*b[n]*sin(n*Pi*x/3):
> ser_Ond:=ser_Ond + cos(t*n*Pi/3)*b[n]*sin(n*Pi*x/3):
> od:
> with(plots):
> G1 := plot(T,x=0..3,color=blue,style=point):
> ser:=subs( t=0, ser_Cal);
> G2:=plot(ser,x=0..3):
> display({G1,G2});
Warning, the name changecoords has been redefined
Gráfico da Equação do Calor na Barra
> plot3d(ser_Cal,x=0..3,t=0..5,axes=boxed);
> animate(ser_Cal,x=0..3,t=0..1,frames=500);
Gráfico da Equação da Corda Vivrante
> plot3d(ser_Ond,x=0..3,t=0..5,grid=[10,100], axes=boxed);
> animate(ser_Ond,x=0..3,t=0..6,frames=30);