Steady-State Heat Equation
> heatdif:=diff(u(x,y),x$2) = - diff(u(x,y), y$2);
Separoidaan:
> eval(subs(u(x,y)=F(x)*G(y),heatdif));
> separoitu:=simplify(%/(F(x)*G(y)));
Tarvitaan kaksi yhtälöä:
>
> xyht:=lhs(separoitu)=p^2;
> yyht:=rhs(separoitu)=p^2;
> FDY:=lhs(xyht)*F(x)=rhs(xyht)*F(x);
> GDY:=lhs(yyht)*G(y)=rhs(yyht)*G(y);
Ratkaisuiksi saadaan:
> f1:=rhs(dsolve(FDY,F(x)));
> g1:=rhs(dsolve(GDY,G(y)));
Alkuarvot G:lle ovat: G(0) = G(12) = 0. Siitä seuraa C2 = 0 g1:ssä ja p = n Pii / 12.
Alkuarvo F:lle F(0) = 0, saadaan C2 = 0 f1:ssä. Koko ratkaisu:
> ratk1:=subs(_C1=B[n],_C2=0,p=n*Pi/12,f1)*subs(_C1=1,_C2=0,p=n*Pi/12,g1);
> ratk:=sum(ratk1,n=1..infinity);
Tekijä B saadaan viimeisestä alkuarvosta ratk(x,12)=100.
> B[n]:=2/(12*sinh(n*Pi)) * Int(100*sin(n*Pi*x/12),x=0..12);
> value(B[n]);
>