Calculate inverse Laplace Matlab

7 visualizzazioni (ultimi 30 giorni)
chess
chess il 26 Giu 2015
Modificato: Martin Brown il 26 Giu 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.
ilaplace

Risposte (1)

Martin Brown
Martin Brown il 26 Giu 2015
Modificato: Martin Brown il 26 Giu 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 http://uk.mathworks.com/matlabcentral/newsreader/view_thread/302725

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by