cew723 发表于 2006-8-6 19:06

[求助] : 关于离散线性时不变系统的状态方程表达式

[求助]为什么 离散线性时不变系统可以用如下的状态方程
来描述 ?
x (k + 1) = Ax (k ) + B u (k ) ,
y (k ) = Cx (k ),

但是在用matlab仿真时x (k + 1) 并不等于 Ax (k ) + B u (k ) ,请问各位大虾这如何解释?

具体程序为

freedegree=3;         %自由度
input_num=1;   
fs=100;                     %采样频率
interval=1/fs;            
N=20;                        %采样点数
f=fs*(0:N1-1)/N;
m1=1; m2=1; m3=1;
c1=40; c2=10; c3=1;
k1=10000; k2=10000; k3=10000;
a=[-(c1+c2)/m1, c2/m1,       0,      -(k1+k2)/m1, k2/m1,       0;                  
   c2/m2,       -(c2+c3)/m2, c3/m2,k2/m2,       -(k2+k3)/m2, k3/m2;
   0,         c3/m3,       -c3/m3, 0,         k3/m3,       -k3/m3;
   1,         0,         0,      0,         0,         0;
   0,         1,         0,      0,         0,         0;
   0,         0,         1,      0,         0,         0];
c_v_s=;
c_a_v=a;
b=   ;                                                
d_v_s=;
d_a_v=b;
sys1=ss(a,b,c_v_s,d_v_s);
sys2=ss(a,b,c_a_v,d_a_v);
t=0: interval : ( N-1)*interval;
u(1,: )=;
y_v_s=lsim(sys1,u,t);             % 输出为速度,位移
y_a_v=lsim(sys2,u,t);            % 输出为加速度,速度


结果:
y_v_s =

         0         0         0         0         0         0
    0.0056    0.0015    0.0001    0.0000    0.0000    0.0000
    0.0029    0.0045    0.0016    0.0001    0.0000    0.0000
    0.0003    0.0037    0.0055    0.0001    0.0001    0.0000
    0.0005    0.0017    0.0075    0.0001    0.0001    0.0001
    0.0013    0.0032    0.0045    0.0001    0.0001    0.0002
    0.0024    0.0041    0.0003    0.0001    0.0002    0.0002
    0.0021    0.0006   -0.0008    0.0002    0.0002    0.0002
   -0.0008   -0.0027   -0.0006    0.0002    0.0002    0.0002
   -0.0032   -0.0028   -0.0020    0.0001    0.0002    0.0002
   -0.0022   -0.0025   -0.0042    0.0001    0.0001    0.0001
   -0.0004   -0.0030   -0.0049    0.0001    0.0001    0.0001
   -0.0007   -0.0028   -0.0038    0.0001    0.0001    0.0001
   -0.0017   -0.0018   -0.0018    0.0001    0.0000    0.0000
   -0.0011   -0.0007    0.0002    0.0001    0.0000    0.0000
    0.0004    0.0008    0.0014    0.0001    0.0000    0.0000
    0.0015    0.0024    0.0021    0.0001    0.0000    0.0000
    0.0018    0.0029    0.0030    0.0001    0.0001    0.0001
    0.0014    0.0025    0.0037    0.0001    0.0001    0.0001
    0.0009    0.0021    0.0033    0.0001    0.0001    0.0001
    (前三列为速度,后三列为位移)

可是用 x (k + 1) = Ax (k ) + B u (k ) 计算,比如取k=5;
计算
Ax (5) + B u (5)= a*y_v_s(5,: )'+b*u(5)=;
并不等于x(6)=y_v_s(6,: )=;

[ 本帖最后由 cew723 于 2006-8-7 08:42 编辑 ]

无水1324 发表于 2006-8-6 19:27

把你仿真的程序拿来看一下,没有弄懂你的意思
页: [1]
查看完整版本: [求助] : 关于离散线性时不变系统的状态方程表达式