电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

系统辨识MATLAB

系统辨识MATLAB_第1页
1/8
系统辨识MATLAB_第2页
2/8
系统辨识MATLAB_第3页
3/8
系统辨识作业方法一 : 递推最小二乘法[NUM]=xlsread('shuju', 'B4:B257');u=NUM;[NUM1]=xlsread('shuju', 'C4:C257');z=NUM1;N=length(u); c0=[0.001,0.001,0.001,0.001]'; %直接给出被辨识参数的初始值,取一个充分小的实向量p0=10^7*eye(4,4); %初始状态 P0 也采用直接取方式,取一个充分大的实数单位矩阵E=0.00000005; %相对误差 E 参考值c=[c0,zeros(4,253)]; %被辨识参数矩阵的初始值及大小e=zeros(4,254); %相对误差的初始值及大小%开始递推运算for k=3:N; h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]'; %求 h1 x=h1'*p0*h1+1; x1=inv(x); k1=p0*h1*x1;%求 k1 c1=c0+k1*(z(k)-h1'*c0); %求 c e1=(c1-c0)./c0;%求参数的相对变化 e(:,k)=e1; %把当前相对变化的列向量加入误差矩阵的最后一列 c0=c1; %新获得的参数作为下一次递推的旧参数 c(:,k)=c1; %把当前所辨识参数的c1 列向量加入辨识参数矩阵的最后一列 p1=p0-k1*h1'*p0; %求 p1 值 p0=p1; %把当前值给下次用if norm(e1)<=E break; %若参数收敛满足要求,终止计算endend%分离参数a1=c(1,:);a2=c(2,:);b1=c(3,:);b2=c(4,:);ea1=e(1,:);ea2=e(2,:);eb1=e(3,:);eb2=e(4,:);figure(1); %画第 1 个图形i=1:254; %横坐标从 1 到 254 plot(i,a1,'k',i,a2,'b',i,b1,'r',i,b2,'g') %画出 a1 ,a2 ,b1 ,b2 的各次辨识结果legend('a1', 'a2', 'b1', 'b2');xlabel('k'); ylabel(' 辨识参数 ' ); %标注纵轴变量title(' 最小二乘各次递推参数估计值' ) %图形标题a1=c(1,254)a2=c(2,254)b1=c(3,254)b2=c(4,254)figure(2); %画第 2 个图形i=1:254; %横坐标从 1 到 254plot(i,ea1,'k',i,ea2,'b',i,eb1,'r',i,eb2,'g'); %画出 a1 , a2 ,b1 ,b2 的各次辨识结果的收敛情况legend('ea1', 'ea2', 'eb1', 'eb2');xlabel('k') %标注横轴变量ylabel(' 参数误差 ' ) %标注纵轴变量title(' 参数的误差收敛情况' ) %图形标题ea1=e(1,254)ea2=e(2,254)eb1=e(3,254)eb2=e(4,254)最小二乘递推辨识结果:a1 = -0.6418 a2 =-0.3451 b1 = 0.0015 b2 =-0.0014 ea1 =-1.4483e-004 ea2 =3.5589e-004 eb1 = -0.0020 eb2 = -0.0021 二、似然法辨识v=randn(254,1); %产生正态分布随机数V=0; %计算噪声方差for i=1:254 V=V+v(i)*v(i); endV1=V/254;N=xlsread('shuju.xls') ; %取数据作为输入输出矩阵A=N([1...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

系统辨识MATLAB

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部