siqi0628 发表于 2006-4-29 00:56:22

关于系统建模的

采用LV进行数据采集建模,假定系统的 结构已知,为ARX模型
y(k)-1.5y(k-1)+0.7y(k-2)=1.0u(k-1)+0.5u(k-2)+e(k);
e(k)为系统的噪声。
实际系统的参数 (1,-1.5,0.7,1,0.5)是未知的。采用伪随机辨识法,辨识系统的上述参数。
Vi程序如下。

将保存的数据放在一个400x1的矩阵中,前面100个为输入数据(伪随机波),后面100个为输出数据。在Matlab里面进行最小二乘法辨识。Matlab程序如下:
function a=makemat(n,A)
for i=1:n
    H(i,:)=[-A(109+i) -A(109+i-1) A(9+i) A(9+i-1)];
    Z(1,i)=;
end
   
HT=H';
ZT=Z';
a=inv(HT*H)*HT*ZT;
在工作空间中,首先建立上面的 400x1的矩阵。然后调用 函数 a=makemat(n,A); n表示你采用的数据长度,越长就越精确。

辨识结果 比较的精确,大家可以尝试一下。这里没有加入噪声信号。 大家可以把我的程序改进一下,欢迎讨论。

cpubbs 发表于 2006-4-29 07:47:30

cpubbs 发表于 2006-4-29 07:47:58

谢谢兄弟的好东东!
页: [1]
查看完整版本: 关于系统建模的