How to Initialize a Discrete-Time Model?

8 ビュー (過去 30 日間)
Daniel Gelman
Daniel Gelman 2016 年 8 月 22 日
回答済み: Farouk Moukaddem 2016 年 8 月 26 日
Hello,
I have the following discrete-time model.
num = [0.02884 -0.02844];
den = [1 -1.7298 0.7337];
H = tf(num,den,0.005);
opt = stepDataOptions('StepAmplitude',200,'InputOffset',250);
figure;
step(H, opt);
Is it possible to set the initial conditions of this transfer function? I would like to initialize the model output (rather than 0) without changing how the input looks like (i.e using InputOffset option in the stepDataOptions for the step()).
Daniel

回答 (1 件)

Farouk Moukaddem
Farouk Moukaddem 2016 年 8 月 26 日
Hi Daniel,
Theoretically speaking, Transfer Functions are defined when all initial conditions on a system are set to zero.
However, if initial conditions need to be changed, it has to be realized in state space (by using integrator in continuous time and unit delays in discrete time).
To specify initial conditions, convert your system to state-space model using the "tf2ss" command and use the State-space block in Simulink.
For more information on this, refer to the following documentation link:
Best,
Farouk

カテゴリ

Help Center および File ExchangeAdditional Math and Discrete についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by