L14maple
ke 14.11.02 (Pohjana p3/L22maple.mws)
Alustukset
> | restart:with(inttrans):alias(L=laplace,IL=invlaplace,u=Heaviside): |
Warning, the name changecoords has been redefined
Differentiaalyhtälöitä Laplace-muunnoksen avulla
Esim. KRE s. 271. y'' - y = t, y(0)=1, y'(0)=1
Toimitaan HAM s. 186 kehystetyn istunnon mallin mukaan.
> | restart: |
Warning, the name changecoords has been redefined
> | with(inttrans):alias(L=laplace,IL=invlaplace,u=Heaviside): |
> | dyht:=diff(y(t),t,t)-y(t)=t; # Diffyhtälö |
> | AE:=y(0)=1,D(y)(0)=1; # Alkuehdot |
Laplace-muunnetaan . Maplen laplace (alias L) osaa säännöt, kuten lineaarisuuden ja derivaatan muunnoksen. (Paloittain jatkuvuudesta tai
eksponentiaalisesta kertaluvusta se ei tietenkään mitään ymmärrä, käyttäjän on huolehdittava siitä.
> | Ldyht:=L(dyht,t,s); |
Tässä vaiheessa kannattaa jo sijoittaa annetut alkuehdot.
> | Ldyht:=subs(AE,Ldyht); |
Ratkaistaan yhtälöstä L(y), solve komennon 2. argumentti voidaan leikata/liimata.
> | Y:=solve(Ldyht,L(y(t),t,s)); |
> | Y:=convert(Y,parfrac,s); |
> | yy:=IL(Y,s,t); |
Piirretään heräte ja vaste samaan kuvaan. Herätteenähän oli r(t)=t, joten tällä saadaan kuva:
> | plot([t,yy],t=0..3,y=0..10,color=[blue,red],title="y''-y=t, y(0)=1, y'(0)=1",legend=["Heräte","Vaste"]); |
> |
Kesken jäänyt luentoesimerkki
> | restart:with(inttrans):alias(L=laplace,IL=invlaplace,u=Heaviside): |
Warning, the name changecoords has been redefined
> | dyht:=diff(y(t),t,t)+5*diff(y(t),t)-6*y(t)=r; # Diffyhtälö |
> | AE:=y(0)=0,D(y)(0)=2; |
> | r:=3*(u(t)-u(t-6)); |
> | plot(r,t=-1..10): |
> | Ldyht:=L(dyht,t,s);Ldyht:=subs(AE,Ldyht); |
> | Y:=solve(Ldyht,L(y(t),t,s)); |
> | Y1:=(2*s+3)/s/(s^2+5*s-6); |
> | Y2 := (-3*exp(-6*s))/s/(s^2+5*s-6); |
> | Y1:=convert(Y1,parfrac,s); |
> | Y2perexp:=Y2/(exp(-6*s));Y2perexp:=convert(%,parfrac,s); |
Esimerkki korkeamman kertaluvun yhtälöstä
Edelliset komennot voidaan nyt suoraan leikata/liimata. Muutokset ovat vain dyht: ssä ja AE: ssä.
> | dyht:=diff(y(t),t$4)-y(t)=0; AE:=y(0)=1,D(y)(0)=0,(D@@2)(y)(0)=0,(D@@3)(y)(0)=0; |
> | Ldyht:=L(dyht,t,s);Ldyht:=subs(AE,Ldyht); |
> | Y:=solve(Ldyht,L(y(t),t,s)); |
> | Y:=convert(Y,parfrac,s); |
> | yy1:=IL(Y,s,t); |
DY-systeemi L-muunnoksen avulla (Esimerkkinä vanha harj. tehtävä : "suolat säiliöissä")
> | dyht1:=diff(x(t),t)=-4/50*x(t)+1/50*y(t); |
> | dyht2:=diff(y(t),t)=4/50*x(t)-4/50*y(t); |
> | Ldyht1:=L(dyht1,t,s); |
> | Ldyht2:=L(dyht2,t,s); |
> | Ldyht1:=subs(x(0)=25,y(0)=0,Ldyht1); |
> | Ldyht2:=subs(x(0)=25,y(0)=0,Ldyht2); |
> | Lratk:=solve({Ldyht1,Ldyht2},{L(x(t),t,s),L(y(t),t,s)}); |
> | X:=subs(Lratk,L(x(t),t,s)); Y:=subs(Lratk,L(y(t),t,s)); |
> | xx:=IL(X,s,t); yy:=IL(Y,s,t); |
> | plot([xx,yy],t=0..30,title="Ratkaisut ajan funktiona"); plot([xx,yy,t=0..30],title="Faasitasokuva"); |
> |
> |