MATLAB: Problems with using the laplace transform

laplace transformMATLAB

hello everyone,
I am trying to plot a system response (y(t)) to an input of u(t)=t*1(t).
The laplace transform of u(t) is U(s)=L{u(t)}= 1/(s^2).
The system is represented in terms of transfer function G(s) = 2/(s^3+5*s^2+4*s+2);
I am trying to create Y(S)=G(s)*U(s) and then convert it to the time domain by ilaplace(Y(s)).
I can't understand why it doesn't work. I get an error:
error.JPG
please help…
clear all
close all
clc
syms t y1(t) s Y1(s)
G_cl_1=2/(s^3+5*s^2+4*s+2);
Y1=G_cl_1*(1/(s^2)); %Finding the Output y(t) while using Laplace Transform
y1=ilaplace(Y1); %Converting Y1(s) to the time space using Opposite Laplace Transform
ezplot (y1)

Best Answer

First, specify ‘Y1’ and ‘y1’ as functions in your code.
Second, use the vpa function to simplify ‘y1’ so ezplot (or fplot) can plot it.
syms t y1(t) s Y1(s)
G_cl_1=2/(s^3+5*s^2+4*s+2);
Y1(s) = G_cl_1*(1/(s^2)); %Finding the Output y(t) while using Laplace Transform
y1(t) = ilaplace(Y1, s, t); %Converting Y1(s) to the time space using Opposite Laplace Transform
y1 = vpa(y1)
ezplot (y1, [-3 -1])
That works for me. (I specified the limits for ezplot to provide a representative part of the curve. Choose whatever limits you want.)