Odd Output From Inverse Laplace Transform

7 views (last 30 days)
Alex
Alex on 14 Feb 2012
Commented: sach van on 10 Apr 2019
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 Comments
Andrew Newell
Andrew Newell on 6 Mar 2012
The first line should be
syms s t
sach van
sach van on 10 Apr 2019
Use vpa(ilaplace()) to output correctly

Sign in to comment.

Answers (1)

Walter Roberson
Walter Roberson on 6 Mar 2012
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.

Community Treasure Hunt

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

Start Hunting!