声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1244|回复: 0

[综合讨论] 最小二乘辨识参数有错误,请高手指教

[复制链接]
发表于 2009-2-19 20:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x

                               
登录/注册后可看大图


我想作利用图中的模型实现参数辨识,利用最小二乘法,但是程序有问题,提示说调用M文件参数太少,请高手给改改,指教下,程序为:

function Output_LS=LS(zi,ui)% 定义最小二乘算法函数
global P Z U H K CO %定义全局变量
if isempty(Z) Z=zeros(1,4);% 判断系统输出端的观测值
else
    for k=1:3 %如输出观测值不为O,就向前移动
        Z(k)=Z(k+1);
    end
    Z(4)=zi;% 把新的观测值赋予Z(4)
end
if isempty(U) U=zeros(1,3);% 判断系统输入端的观测值
else
    U(1)=U(2);U(2)=U(3);U(3)=ui; %如输入观测值不为O,就向前移动
end
H=[-Z(3) -Z(2) -Z(1) U(2) U(1)]';% 设定观测矩阵H
if isempty(C0) C0=[0.00000001 0 0 0 0];% 设定seta(0)的初始参数
end
e=eye(5);% 矩阵e为5维的单位阵
if isempty(P) P=10^9.*e; %设p(0)初始值
end
K=1/(1+H'*P*H)*P*H;% 最小二乘递推算法
P=(e-K*H')*P;
C1=C0'+K*(zi-H'*CO');
CO=C1';
Output_LS=CO';

[ 本帖最后由 vsunl 于 2009-2-19 20:07 编辑 ]
回复
分享到:

使用道具 举报

您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-20 22:44 , Processed in 0.052016 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表