Heat.mw

> restart;

> with(plots);

Here is an animation fot the example done in class.

> animate(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*t) ,n=1..50), x=0..1,t=0..0.5,numpoints=1000,frames=100);

[Plot]

Some snapshots.

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0) ,n=1..50), x=0..1,numpoints=1000,title="t=0.0");

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.00001) ,n=1..50), x=0..1,numpoints=1000,title="t=0.00001",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.0001) ,n=1..50), x=0..1,numpoints=1000,title="t=0.0001",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.001) ,n=1..50), x=0..1,numpoints=1000,title="t=0.001",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.01) ,n=1..50), x=0..1,numpoints=1000,title="t=0.01",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.1) ,n=1..50), x=0..1,numpoints=1000,title="t=0.1",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.2) ,n=1..50), x=0..1,numpoints=1000,title="t=0.2",view=0..12);

[Plot]

> plot(sum(40/(2*n-1)/Pi*sin((2*n-1)*Pi*x)*exp(-(2*n-1)^2*Pi^2*0.3) ,n=1..50), x=0..1,numpoints=1000,title="t=0.3",view=0..12);

[Plot]

Here is a crazy example. The initial temp is the function below defined using the piecewies command.

>

> f := x -> piecewise(x<.2, 0, x>=.2 and x<=.4 , -500*(x-0.2)*(x-0.4), x>0.4 and x<0.6, 0, x>=0.6 and x<=0.8, 4, x>0.8, 0);

f := proc (x) options operator, arrow; piecewise(x < .2, 0, .2 <= x and x <= .4, -500*(x-.2)*(x-.4), .4 < x and x < .6, 0, .6 <= x and x <= .8, 4, .8 < x, 0) end proc

>

> plot(f(x),x=0..1);

[Plot]

> c := n -> 2*int(sin(n*Pi*x)*f(x) ,x=0..1);

c := proc (n) options operator, arrow; 2*int(sin(n*Pi*x)*f(x), x = 0 .. 1) end proc

> plot( sum( c(n)*sin(n*Pi*x), n=1..50 ) ,x=-1..1);

[Plot]

> animate(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*t)) ,n=1..50), x=0..1,t=0..0.01,numpoints=1000,frames=100);

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.00000)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.0000");

>

>

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.00001)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.00001");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.0001)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.0001");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.001)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.001");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.002)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.002");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.003)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.003");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.005)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.005");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.01)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.01");

[Plot]

> plot(sum( c(n)*sin((n)*Pi*x)*exp(-(n^2*Pi^2*0.05)) ,n=1..50), x=0..1,numpoints=100,view=0..5,title="t=0.05");

[Plot]

>