Why are some of the outputs' first values ​​not equal to zero?

1 次查看(过去 30 天)
Hi,
My state space system contains 6 outputs and some of them's first values are not zero. In my opinion, when t=0; first values of outputs should be zero, but step command doesn't give me all of them as 0.
It may be because of D, but i'm not sure.
Is there any point which i miss? How can i make first values of y1 an y4 zero? Can it be possible?
Thanks,
clear all
clc
A=[-7.4 -10.6;-0.7 -16.9];
B=[37.3;63.8];
C=[-7.4 0;0 1;1 0;-0.1 -0.14;-0.1 0.13;0.1 0];
D=[37.3;0;0;1;0;0];
sys=ss(A,B,C,D);
t=0:0.01:10;
[y,t]=step(sys,t)

采纳的回答

Ameer Hamza
Ameer Hamza 2020-12-1
Yes, it is because of matrix 'D'. At t=0, the values of all the states 'x' will be zero, but the value of output 'y' will not be equal to zero for your system. For example, change the line to
[y,t,x]=step(sys,t);
and check the value of 'x'. It starts at 0.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Dynamic System Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by