Calculate inverse Laplace Matlab

2 次查看(过去 30 天)
chess
chess 2015-6-26
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.
ilaplace

回答(1 个)

Martin Brown
Martin Brown 2015-6-26
编辑:Martin Brown 2015-6-26
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 http://uk.mathworks.com/matlabcentral/newsreader/view_thread/302725

产品

Community Treasure Hunt

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

Start Hunting!

Translated by