MATLAB: Strange result in ilaplace()

ilaplacesymbolic transform

Hi! I'm trying to make inverse laplace transform, but clearly the result is wrong because the expression don't even has the time variable. Could someone help me?
syms Kp Ki Kd s time
plant = 1/(s^3 + 9*s^2 + 23*s + 15);
controler = Kp + Kd*s + Ki/s;
system_laplace = simplify((plant * controler)/(1 + plant * controler));
system_time = ilaplace(system_laplace, s, time)

Best Answer

It’s not strange. It’s just that you have a transfer function that’s not possible to invert. Just before the ilaplace call, I added:
system_laplace = partfrac(system_laplace, s, 'FactorMode', 'full')
since that can allow inversion in situations where ilaplace otherwise fails. It didn’t work with your system.
You probably need to do your analysis in the Control System Toolbox. See the documentation for the tf function, since it will allow you to enter your equations as you have entered them here:
  • s = tf('s') to specify a TF model using a rational function in the Laplace variable, s.
Related Question