Uppgift 7.3: 34 (Lösning av ode med laplacetransform) 

Alla integraltransformer finns i paketet inttrans. 

restart; -1; with(inttrans) 

[addtable, fourier, fouriercos, fouriersin, hankel, hilbert, invfourier, invhilbert, invlaplace, invmellin, laplace, mellin, savetable]
[addtable, fourier, fouriercos, fouriersin, hankel, hilbert, invfourier, invhilbert, invlaplace, invmellin, laplace, mellin, savetable]
(1.1)
 

Differentialekvation och begynnelsedata skrivs som vanligt. 

`:=`(ode, `+`(((`@@`(D, 4))(x))(t), `*`(13, `*`(((`@@`(D, 2))(x))(t))), `*`(36, `*`(x(t)))) = 0) 

`+`(((`@@`(D, 4))(x))(t), `*`(13, `*`(((`@@`(D, 2))(x))(t))), `*`(36, `*`(x(t)))) = 0 (1.2)
 

`:=`(ic, x(0) = 0, (D(x))(0) = 2, ((`@@`(D, 2))(x))(0) = 0, ((`@@`(D, 3))(x))(0) = -13) 

x(0) = 0, (D(x))(0) = 2, ((`@@`(D, 2))(x))(0) = 0, ((`@@`(D, 3))(x))(0) = -13 (1.3)
 

Funktionen laplace kan transformera hela ekvationen inklusive högerledet. 

`:=`(Lode, laplace(ode, t, s)) 

`+`(`*`(`^`(s, 4), `*`(laplace(x(t), t, s))), `-`(((`@@`(D, 3))(x))(0)), `-`(`*`(s, `*`(((`@@`(D, 2))(x))(0)))), `-`(`*`(`^`(s, 2), `*`((D(x))(0)))), `-`(`*`(`^`(s, 3), `*`(x(0)))), `*`(13, `*`(`^`(s,...
`+`(`*`(`^`(s, 4), `*`(laplace(x(t), t, s))), `-`(((`@@`(D, 3))(x))(0)), `-`(`*`(s, `*`(((`@@`(D, 2))(x))(0)))), `-`(`*`(`^`(s, 2), `*`((D(x))(0)))), `-`(`*`(`^`(s, 3), `*`(x(0)))), `*`(13, `*`(`^`(s,...
(1.4)
 

Sätt in givna begynnelsedata och ändra samtidigt den nÃ¥got klumpiga beteckningen för laplacetransformen till nÃ¥got enklare. T.ex. X 

`:=`(Lode, eval(Lode, {ic, laplace(x(t), t, s) = X})) 

`+`(`*`(`^`(s, 4), `*`(X)), `-`(13), `-`(`*`(2, `*`(`^`(s, 2)))), `*`(13, `*`(`^`(s, 2), `*`(X))), `*`(36, `*`(X))) = 0 (1.5)
 

Lös ut X ur den transformerade ekvationen 

`:=`(X, solve(Lode, X)) 

`/`(`*`(`+`(13, `*`(2, `*`(`^`(s, 2))))), `*`(`+`(`*`(`^`(s, 4)), `*`(13, `*`(`^`(s, 2))), 36))) (1.6)
 

och invertera uttrycket för att fÃ¥ lösningen som funktion av t (eller nÃ¥gon annan variabel som känns ännu bättre.) 

invlaplace(X, s, t) 

`+`(`*`(`/`(1, 2), `*`(sin(`+`(`*`(2, `*`(t)))))), `*`(`/`(1, 3), `*`(sin(`+`(`*`(3, `*`(t))))))) (1.7)
 

Sedan kan förstÃ¥s maple göra allt detta pÃ¥ egen hand genom att ange lösningsmetoden laplace i dsolve-funktionen. 

dsolve({ic, ode}, x(t), method = laplace) 

x(t) = `+`(`*`(`/`(1, 2), `*`(sin(`+`(`*`(2, `*`(t)))))), `*`(`/`(1, 3), `*`(sin(`+`(`*`(3, `*`(t))))))) (1.8)