系统辨识作业_梯度法最小二乘法.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统辨识作业_梯度法最小二乘法

系统辨识 最小二乘算法 仿真对象为:,为服从N(0,1)分布的白噪声,输入信号采用4阶M序列% M array construction Np=15;r=4; X1=1;X2=1;X3=1;X4=1; m_length = r*Np; a=1; for i=1:1:m_length Y4=X4;Y3=X3;Y2=X2;Y1=X1; X4=Y3;X3=Y2;X2=Y1; X1=xor(Y3,Y4); if Y4==0 M(i)=-a; else M(i)=a; end end figure; i=1:1:m_length; plot(i,M); % 白噪声 noise = zeros(1,m_length); for i=1:1:m_length temp = noise + 0.5*rands(1,m_length); noise = temp; end noise = noise/12; %noise = temp; % parameter of system n=2;d=1;a1=-1;a2=0.5;b1=1;b2=0.5; S_U0=0.2;S_Y0=0.2; % generate u,y u0=ones(1,m_length)*S_U0; U = M + u0 + noise; figure; i=1:1:m_length; plot(i,U); %formulation y(1)=0;y(2)=0;y(3)=0; Y(1)=S_Y0+y(1)+noise(1);Y(2)=S_Y0+y(2)+noise(2);Y(3)=S_Y0+y(3) +noise(3); for k=4:m_length y(k) = b1*U(k-1-d)+b2*U(k-2-d)-a1*y(k-1)-a2*y(k-2); Y(k)=S_Y0+y(k)+noise(k); end figure; i=1:1:m_length; plot(i,Y); %辨识 % premitive value c=2; P = (c^3)*eye(3*n+d); sita(:,3) = [0,0,0,0,0,0,0]; alf = 0.995; % M %compute U0,Y0 sum_U = 0;sum_Y = 0; for k=1:1:m_length sum_U = sum_U + U(k); sum_Y = sum_Y + Y(k); end t_U0 = sum_U/m_length;t_Y0 = sum_Y/m_length; for k=1:1:m_length t_u(k) = U(k) - t_U0; t_y(k) = Y(k) - t_Y0; end figure; i=1:1:m_length; plot(i,t_u); figure; i=1:1:m_length; plot(i,t_y); v(1)=0;v(2)=0;v(3)=0; for k=4:1:m_length fai = [-t_y(k-1),-t_y(k-2),t_u(k-1-d),t_u(k-2-d),v(k-1),v(k-2),v(k-3)]; v(k) = t_y(k) - fai*sita(:,k-1); W = P*fai; dan = 1/(alf + fai*W); sita(:,k) = sita(:,k-1) + dan*W*v(k); P = ( P - dan * W*W)/alf; end 仿真结果如下图所示: 则各个参数的估计值为: 梯度校正辨识方法 仿真对象为,其中为服从N(0,1)分布的白噪声,取初值,,。 所选的辨识模型为,观测数据长度取。 则matlab程序如下: %确定性系统的递推梯度校正参数估计(RGC) clear all; close all; a=[1 -1.5 0.7]; b=[1 0.5]; d=3; %对象参数 na=length(a)-1; nb=length(b)-1; %na、nb为A、B阶次 L=400; %仿真长度 uk=zeros(d+nb,1); %输入初值:uk(i)表示u(k-i) yk=zeros(na,1); %输出初值 u=randn(L,1); %输入采用白噪声序列 theta=[a(2:na+1);b]; %对象参数真值 thetae_1=zeros(na+nb+1,1); %参数估计初值 alpha=1; %范围(0,2) c=0.1; %修正因子 for k=1:L phi=[-yk;uk(d:

文档评论(0)

pangzilva + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档