Calculate inverse Laplace Matlab

2 visualizaciones (últimos 30 días)
chess
chess el 26 de Jun. de 2015
Editada: Martin Brown el 26 de Jun. de 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

Respuestas (1)

Martin Brown
Martin Brown el 26 de Jun. de 2015
Editada: Martin Brown el 26 de Jun. de 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

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by