Calculate inverse Laplace Matlab

6 views (last 30 days)
chess on 26 Jun 2015
Edited: Martin Brown on 26 Jun 2015
Hi I have a transfer function in this form : (a*s^2)/(b*s^3+c*s^2+d*s+e) I have numerical value for a b c and d for example assume a=22 b=45 c=14 d=18 e=29. I would like to find the inverse Laplace in terms of coefficients a,b,c,d and e (Meaning something like a*exp(b*t)+...) . How can I do that since Matlab will give me :
a*sum((r3^2*exp(r3*t))/(3*b*r3^2 + 2*c*r3 + d), r3 in RootOf(b*s3^3 + c*s3^2 + d*s3 + e, s3))
after issuing following command.

Answers (1)

Martin Brown
Martin Brown on 26 Jun 2015
Edited: Martin Brown on 26 Jun 2015
I presume you've tried this with 1st and 2nd order expressions and found it works correctly, but when moving to 3rd and higher, sometimes this type of factorized / summarized expression is returned. You can manually interpret it by using the roots() function to numerically calculate the actual roots of the denominator, r3 in your expression, which would then be substituted into the left hand side expression to get the three exponents and three coefficients.
Personally, I'd have expected the symbolic toolbox to do this for your 3rd order expression. I've tried in mupad and this gives an equivalent result to the one displayed in Matlab (not surprisingly). A similar, slightly longer discussion

Community Treasure Hunt

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

Start Hunting!

Translated by