Odd Output From Inverse Laplace Transform

2 次查看(过去 30 天)
Hello All,
I'm trying to find the inverse laplace transform of the function:
(((s^3)+0.2*(s^2)+(0.8*s)+1)^-1)
OR equivalent
1/(((s^3)+0.2*(s^2)+(0.8*s)+1)
Here is my code:
syms step3S;
step3S=(((s^3)+0.2*(s^2)+(0.8*s)+1)^-1)*(1/s);
step3Y=ilaplace(step3S,s,t)
Here is the output:
1 - sum((4*exp(r15*t) + r15*exp(r15*t) + 5*r15^2*exp(r15*t))/(15*r15^2 + 2*r15 + 4), r15 in RootOf(s15^3 + s15^2/5 + (4*s15)/5 + 1, s15))
Why doesn't this have a clean execution on the output in terms of sin, cosine, and exponentials? I did this with several functions but MatLab balked at this one for some reason. I tried it in Mathematica and it spit right out but I don't understand what I'm doing wrong in Matlab.
If someone could propose a method that will output this inverse laplace transform clean, I would greatly appreciate it!
Thank you , - Alex
  3 个评论
sach van
sach van 2019-4-10
Use vpa(ilaplace()) to output correctly

请先登录,再进行评论。

回答(1 个)

Walter Roberson
Walter Roberson 2012-3-6
Do you want the numeric form, or do you want the analytic form?
By default MuPad converts all floating point values in to rational values, and then solves using those rational values. Pure rational coefficients are the signal to MuPAD to find an analytic solution. The analytic solution happens to have RootOf(), corresponding to the 3 roots of the cubic in the denominator of the original expression.

类别

Help CenterFile Exchange 中查找有关 Symbolic Math Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by