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ö

dyht := diff(y(t),`$`(t,2))-y(t) = t

>    AE:=y(0)=1,D(y)(0)=1;         # Alkuehdot

AE := y(0) = 1, D(y)(0) = 1

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);

Ldyht := s*(s*L(y(t),t,s)-y(0))-D(y)(0)-L(y(t),t,s) = 1/(s^2)

Tässä vaiheessa kannattaa  jo sijoittaa annetut alkuehdot.

>    Ldyht:=subs(AE,Ldyht);

Ldyht := s*(s*L(y(t),t,s)-1)-1-L(y(t),t,s) = 1/(s^2)

Ratkaistaan yhtälöstä L(y), solve komennon 2. argumentti voidaan leikata/liimata.

>    Y:=solve(Ldyht,L(y(t),t,s));

Y := (s^3+s^2+1)/s^2/(s^2-1)

>    Y:=convert(Y,parfrac,s);

Y := -1/(s^2)-1/(2*(s+1))+3/2/(s-1)

>    yy:=IL(Y,s,t);

yy := -t-1/2*exp(-t)+3/2*exp(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"]);

[Maple Plot]

>   

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ö

dyht := diff(y(t),`$`(t,2))+5*diff(y(t),t)-6*y(t) = r

>    AE:=y(0)=0,D(y)(0)=2;

AE := y(0) = 0, D(y)(0) = 2

>    r:=3*(u(t)-u(t-6));

r := 3*u(t)-3*u(t-6)

>    plot(r,t=-1..10):

>    Ldyht:=L(dyht,t,s);Ldyht:=subs(AE,Ldyht);

Ldyht := s*(s*L(y(t),t,s)-y(0))-D(y)(0)+5*s*L(y(t),t,s)-5*y(0)-6*L(y(t),t,s) = 3/s-3*exp(-6*s)/s

Ldyht := s^2*L(y(t),t,s)-2+5*s*L(y(t),t,s)-6*L(y(t),t,s) = 3/s-3*exp(-6*s)/s

>    Y:=solve(Ldyht,L(y(t),t,s));

Y := -(-2*s-3+3*exp(-6*s))/s/(s^2+5*s-6)

>    Y1:=(2*s+3)/s/(s^2+5*s-6);

Y1 := (2*s+3)/s/(s^2+5*s-6)

>    Y2 := (-3*exp(-6*s))/s/(s^2+5*s-6);

Y2 := -3*exp(-6*s)/s/(s^2+5*s-6)

>    Y1:=convert(Y1,parfrac,s);

Y1 := 5/7/(s-1)-3/14/(s+6)-1/(2*s)

>    Y2perexp:=Y2/(exp(-6*s));Y2perexp:=convert(%,parfrac,s);

Y2perexp := -3/s/(s^2+5*s-6)

Y2perexp := -3/7/(s-1)-1/(14*(s+6))+1/(2*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;

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);

Ldyht := s*(s*(s*(s*L(y(t),t,s)-y(0))-D(y)(0))-`@@`(D,2)(y)(0))-`@@`(D,3)(y)(0)-L(y(t),t,s) = 0

Ldyht := s^3*(s*L(y(t),t,s)-1)-L(y(t),t,s) = 0

>    Y:=solve(Ldyht,L(y(t),t,s));

Y := s^3/(s^4-1)

>    Y:=convert(Y,parfrac,s);

Y := 1/(4*(s-1))+1/(4*(s+1))+1/2*s/(s^2+1)

>    yy1:=IL(Y,s,t);

yy1 := 1/4*exp(t)+1/4*exp(-t)+1/2*cos(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);

dyht1 := diff(x(t),t) = -2/25*x(t)+1/50*y(t)

>    dyht2:=diff(y(t),t)=4/50*x(t)-4/50*y(t);

dyht2 := diff(y(t),t) = 2/25*x(t)-2/25*y(t)

>    Ldyht1:=L(dyht1,t,s);

Ldyht1 := s*L(x(t),t,s)-x(0) = -2/25*L(x(t),t,s)+1/50*L(y(t),t,s)

>    Ldyht2:=L(dyht2,t,s);

Ldyht2 := s*L(y(t),t,s)-y(0) = 2/25*L(x(t),t,s)-2/25*L(y(t),t,s)

>    Ldyht1:=subs(x(0)=25,y(0)=0,Ldyht1);

Ldyht1 := s*L(x(t),t,s)-25 = -2/25*L(x(t),t,s)+1/50*L(y(t),t,s)

>    Ldyht2:=subs(x(0)=25,y(0)=0,Ldyht2);

Ldyht2 := s*L(y(t),t,s) = 2/25*L(x(t),t,s)-2/25*L(y(t),t,s)

>    Lratk:=solve({Ldyht1,Ldyht2},{L(x(t),t,s),L(y(t),t,s)});

Lratk := {L(y(t),t,s) = 1250/(3+625*s^2+100*s), L(x(t),t,s) = 625*(25*s+2)/(3+625*s^2+100*s)}

>    X:=subs(Lratk,L(x(t),t,s));
Y:=subs(Lratk,L(y(t),t,s));

X := 625*(25*s+2)/(3+625*s^2+100*s)

Y := 1250/(3+625*s^2+100*s)

>    xx:=IL(X,s,t);
yy:=IL(Y,s,t);

xx := 25*exp(-2/25*t)*cosh(1/25*t)

yy := 50*exp(-2/25*t)*sinh(1/25*t)

>    plot([xx,yy],t=0..30,title="Ratkaisut ajan funktiona");
plot([xx,yy,t=0..30],title="Faasitasokuva");

[Maple Plot]

[Maple Plot]

>   

>