Deriving the time-domain response of an equation, from a tf

109 views (last 30 days)
So I have the code to create a transfer function, from which you can get the graph of the step response:
G = tf([1], [1 0.9 5]);
step(G);
Easy. However I can't find a way to perform an inverse Laplace transform on G, to get an actual equation.

Answers (1)

Benjamin Großmann
Benjamin Großmann on 24 Apr 2018
Edited: Benjamin Großmann on 24 Apr 2018
Try ilaplace. Before that you have to convert the tf object to sym object (from here ):
G = tf([1], [1 0.9 5]);
[num,den] = tfdata(G);
syms s
G_sym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)
You have to multiply the input in laplace domain to the transfer function to get the system response to a specific input in time domain:
Y_lap_sym = G_sym/s; % U(s) = 1/s for the unit step
y_time_sym = ilaplace(Y_lap_sym);
  2 Comments
AAYUSH MARU
AAYUSH MARU on 3 Apr 2020
clc;
clear all;
syms t;
t= 0:0.001:10
G = tf([1], [1 0.9 5]);
[num,den] = tfdata(G);
syms s
G_sym = poly2sym(cell2mat(num),s)/poly2sym(cell2mat(den),s)
Y_four_sym = G_sym/s; % U(s) = 1/s for the unit step
y_time_sym = ifourier(Y_four_sym);
y_n = double(y_time_sym);
subplot(2,1,1)
plot(t,y_time_sym);
how to plot step response here?

Sign in to comment.

Tags

Products

Community Treasure Hunt

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

Start Hunting!