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

169 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Benjamin Großmann
Benjamin Großmann il 24 Apr 2018
Modificato: Benjamin Großmann il 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 Commenti
AAYUSH MARU
AAYUSH MARU il 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?

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by