http://www.math.hut.fi/teaching/p3/luentomateriaali/lapdy.html
Diff. yhtälö Maplen Laplace-muunnoksella
2. kl. vakiokertoiminen (EHY)
> with(inttrans):
>
> dy:=diff(y(t),t,t)+a*diff(y(t),t)+b*y(t)=r(t);
/ 2 \
| d | / d \
dy := |----- y(t)| + a |---- y(t)| + b y(t) = r(t)
| 2 | \ dt /
\ dt /
> ldy:=laplace(dy,t,s);
ldy := (laplace(y(t), t, s) s - y(0)) s - D(y)(0)
+ a (laplace(y(t), t, s) s - y(0)) + b laplace(y(t), t, s) =
laplace(r(t), t, s)
> Y:=solve(ldy,laplace(y(t),t,s));
- s y(0) - D(y)(0) - a y(0) - laplace(r(t), t, s)
Y := - -------------------------------------------------
2
s + a s + b
> Y:=subs(laplace(r(t),t,s)=R,Y);
- s y(0) - D(y)(0) - a y(0) - R
Y := - -------------------------------
2
s + a s + b
Tässä täytyy tuntea r ja siten R=Lr ja sitten kertoimet a ja b,
jotta osataan muodostaa
käänteismuunnos y(t), joka siis on dy:n (AA-tehtävän) ratkaisu.
Konkreettinen esimerkki, jossa kaikki on annettu:
Esim5 : Kre s. 271
y''(t)-y(t)=t, y(0)=1, y'(0)=1
Maple-istunto:
> with(inttrans):
> dy:=diff(y(t),t,t)-y(t)=t;
/ 2 \
| d |
dy := |----- y(t)| - y(t) = t
| 2 |
\ dt /
> Ldy:=laplace(dy,t,s);
1
Ldy := (laplace(y(t), t, s) s - y(0)) s - D(y)(0) - laplace(y(t), t, s) = ----
2
s
> Y:=solve(Ldy,laplace(y(t),t,s));
1
- s y(0) - D(y)(0) - ----
2
s
Y := - -------------------------
2
s - 1
> Y:=simplify(subs({y(0)=1,D(y)(0)=1},Y));
3 2
s + s + 1
Y := -----------
2 2
s (s - 1)
> yy:=invlaplace(Y,s,t); ### Vrt (*) alempana
yy := - t + 3/2 exp(t) - 1/2 exp(- t)
--------------------------------------------------------------------------------
# Tarkistus:
#
> subs(y(t)=yy,dy);
/ 2 \
| d |
|----- (- t + 3/2 exp(t) - 1/2 exp(- t))| + t - 3/2 exp(t) + 1/2 exp(- t) = t
| 2 |
\ dt /
--------------------------------------------------------------------------------
> value(");
t = t
--------------------------------------------------------------------------------
> eval("");
t = t
--------------------------------------------------------------------------------
# Eli kumpi tahansa, value tai eval toimii.
#
> y0:=eval(subs(t=0,yy));yp0:=eval(subs(t=0,diff(yy,t)));
y0 := 1
yp0 := 1
--------------------------------------------------------------------------------
# Myös alkuehdot toteutuvat
#
----------------------------------------------------
(*)
Jos edettäisiin käsinlaskutyyliin, tehtäisiin:
> convert(Y,parfrac,s);
1 3 1
- ---- + --------- - ---------
2 2 (s - 1) 2 (s + 1)
s
Tästä jo käänteismuunnos onkin heti luettavissa.
This page created by
<Heikki.Apiola@hut.fi>
Last update 4.11.97