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

150 vues (au cours des 30 derniers jours)
Fabian Wood
Fabian Wood le 24 Avr 2018
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.

Réponses (1)

Benjamin Großmann
Benjamin Großmann le 24 Avr 2018
Modifié(e) : Benjamin Großmann le 24 Avr 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 commentaires
AAYUSH MARU
AAYUSH MARU le 3 Avr 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?
Spencer Ignatieff
Spencer Ignatieff le 3 Juin 2020
%add anywhere after line 5
step(G)

Connectez-vous pour commenter.

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by