




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 【2-1】设某物理量Y与X1、X2、X3的关系如下:Y=1X1+2X2+3X3由试验获得的数据如下表。试用最小二乘法确定模型参数1、2和3X1:0.62 0.4 0.42 0.82 0.66 0.72 0.38 0.52 0.45 0.69 0.55 0.36X2:12.0 14.2 14.6 12.1 10.8 8.20 13.0 10.5 8.80 17.0 14.2 12.8X3:5.20 6.10 0.32 8.30 5.10 7.90 4.20 8.00 3.90 5.50 3.80 6.20Y:51.6 49.9 48.5 50.6 49.7 48.8 42.6 45.9 37.
2、8 64.8 53.4 45.3解:MATLAB程序为:Clear all;A= 0.6200 12.000 5.20000.400014.2000 6.10000.4200 14.6000 0.32000.8200 12.10008.30000.6600 10.8000 5.10000.7200 8.20007.90000.3800 13.00004.20000.5200 10.5000 8.00000.45008.80003.90000.690017.00005.50000.550014.20003.80000.360012.80006.2000;B=51.6 49.9 48.5 50.6
3、 49.7 48.8 42.6 45.9 37.8 64.8 53.4 45.3'C=inv(A'*A)*A'*B=0.62 12 5.2;0.4 14.2 6.1;0.42 14.6 0.32;0.82 12.1 8.3;0.66 10.8 5.1;0.72 8.2 7.9;0.38 13 4.2;0.52 10.5 8;0.45 8.8 3.9;0.69 17 5.5;0.55 14.2 3.8;0.36 12.8 6.2 公式中的A是N, B是YN,运行M文件可得结果:在matlab中的运行结果:C=29.59032.44660.4597 【2-3】考虑如下模型其
4、中w(t)为零均值、方差为1的白噪声。根据模型生成的输入/输出数据u(k)和y(k),分别采用批处理最小二乘法、具有遗忘因子的最小二乘法(=0.95)和递推最小二乘法估计模型参数(限定数据长度N为某一数值,如N=150或其它数值),并将结果加以比较。解:1、 批处理最小二乘法M文件如下:clear all;close all;a=1 -1.3 0.3'b=1 0.5'd=1;%对象参数na=length(a)-1;nb=length(b)-1;%na,nb为A,B阶次N=200;%观测数据组uk=zeros(d+nb,1);%创建d+nb行1列的零列向量,给输入赋初值0yk=z
5、eros(na,1);%输出初值x1=1;x2=1;x3=1;x4=0;%移位寄存器初值S=1;%方波初值W=randn(N,1);%产生均值为零方差为1的白噪声序列w(k)theta=a(2:na+1);b;%theta为列向量,-1.3 0.3 1 0.5',为对象参数真值for k=1:N phi(k,:)=-yk;uk(d:d+nb)'%phi为行向量,组成phi矩阵 y(k)=phi(k,:)*theta+W(k);%采集输出数据 IM=xor(S,x4);%进行异或运算,产生逆M序列 if IM=0 u(k)=-1; else u(k)=1; end S=not(S
6、);%产生方波 M=xor(x3,x4);%进行异或运算,产生M序列 x4=x3;x3=x2;x2=x1;x1=M;%寄存器移位 for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k);endthetae=inv(phi'*phi)*phi'*y'%计算参数估计值thetaeJ=y*y'-2*(phi'*y')'*thetae+thetae'*phi'*phi*thetae%求最小估计误差平方和cl
7、ear all;close all;a=1 -1.3 0.3'b=1 0.5'd=1;%对象参数na=length(a)-1;nb=length(b)-1;%na,nb为A,B阶次N=200;%观测数据组uk=zeros(d+nb,1);%创建d+nb行1列的零列向量,给输入赋初值0yk=zeros(na,1);%输出初值x1=1;x2=1;x3=1;x4=0;%移位寄存器初值S=1;%方波初值W=randn(N,1);%产生均值为零方差为1的白噪声序列w(k)theta=a(2:na+1);b;%theta为列向量,-1.3 0.3 1 0.5',为对象参数真值for
8、 k=1:N phi(k,:)=-yk;uk(d:d+nb)'%phi为行向量,组成phi矩阵 y(k)=phi(k,:)*theta+W(k);%采集输出数据 IM=xor(S,x4);%进行异或运算,产生逆M序列 if IM=0 u(k)=-1; else u(k)=1; end S=not(S);%产生方波 M=xor(x3,x4);%进行异或运算,产生M序列 x4=x3;x3=x2;x2=x1;x1=M;%寄存器移位 for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end y
9、k(1)=y(k);endthetae=inv(phi'*phi)*phi'*y'%计算参数估计值thetaeJ=y*y'-2*(phi'*y')'*thetae+thetae'*phi'*phi*thetae%求最小估计误差平方和运行结果如下:thetae = -1.3022 0.2982 0.9709 0.5091J = 186.0817与真值比较参数a1a2b0b1真值-1.30.310.5估计-1.30220.29820.97090.50912、 递推最小二乘法clear all;close all;a=1 -1.
10、3 0.3'b=1 0.5'd=1;%对象参数na=length(a)-1;nb=length(b)-1;%na,nb为A,B阶次N=200;%观测数据组uk=zeros(d+nb,1);%创建d+nb行1列的零列向量,给输入赋初值0yk=zeros(na,1);%输出初值u=randn(N,1);%输入采用白噪声序列w=randn(N,1);%产生均值为零方差为1的白噪声序列w(k)theta=a(2:na+1);b;%theta为列向量,-1.3 0.3 1 0.5',为对象参数真值thetae_1=zeros(na+nb+1,1);%thetae的chuzhiP=
11、106*eye(na+nb+1);%P初值for k=1:N phi=-yk;uk(d:d+nb);%phi为行向量,组成phi矩阵 y(k)=phi'*theta+w(k);%采集输出数据 K=P*phi/(1+phi'*P*phi); thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1); P=(eye(na+nb+1)-K*phi')*P; thetae_1=thetae(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(
12、i-1); end yk(1)=y(k);end%画参数随采样时刻的估计结果plot(1:N,thetae);xlabel('k');ylabel('参数估计a,b');legend('a1','a2','b0','b1');axis(0 N -2 2);运行结果: 图1 递推最小二乘法参数估计图中可以看出,辨识过程很不稳定,参数波动较大,因为在试验中将输入和噪声幅值一样大,噪声干扰相对输入较大,所以应该调整输入和噪声的幅值分别另:u=25*randn(N,1),50*randn(N,1),100*
13、randn(N,1)所得结果如下图1)u=25*randn(N,1)2) u=50*randn(N,1)3)u=100*randn(N,1)综上可以看出只有当输入幅值较大时系统辨识的效果会更好,参数波动也不是很大。3、 遗忘因子最小二乘法clear all;close all;a=1 -1.3 0.3'b=1 0.5'd=1;%对象参数na=length(a)-1;nb=length(b)-1;%na,nb为A,B阶次N=200;%观测数据组uk=zeros(d+nb,1);%创建d+nb行1列的零列向量,给输入赋初值0yk=zeros(na,1);%输出初值u=1*randn
14、(N,1);%输入采用白噪声序列xi=randn(N,1);%产生均值为零方差为1的白噪声序列w(k)thetae_1=zeros(na+nb+1,1);%thetae的chuzhiP=106*eye(na+nb+1);%P初值lambda=0.95%遗忘因子for k=1:N theta(:,k)=a(2:na+1);b;%对象参数真值 phi=-yk;uk(d:d+nb);%phi为行向量,组成phi矩阵 y(k)=phi'*theta(:,k)+xi(k);%采集输出数据 K=P*phi/(lambda+phi'*P*phi); thetae(:,k)=thetae_1+
15、K*(y(k)-phi'*thetae_1); P=(eye(na+nb+1)-K*phi')*P/lambda; thetae_1=thetae(:,k); for i=d+nb:-1:2 uk(i)=uk(i-1); end uk(1)=u(k); for i=na:-1:2 yk(i)=yk(i-1); end yk(1)=y(k);end%画参数随采样时刻的估计结果subplot(1,2,1);plot(1:N,thetae(1:na,:);hold on;plot(1:N,theta(1:na,:),'k:');xlabel('k');ylabel('参数估计a');legend('a1','a2');axis(0 N -2 2);subplot(1,2,2)plot(1:N,thetae(na+1:na+nb+1,:);hold on;plot(1:N,theta(na+1:na+nb+1,:),'k:');xlabel('k');ylabel('参数估计b');legend('b0','b1');axis(0 N -0.5 2);
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 以新促老活动方案
- 广东省佛山市顺德区2023-2024学年五年级下学期数学期末试卷(含答案)
- 仲秋服装活动方案
- QBT-制盐工业检测方法 微量溴的测定编制说明
- 企业专场招聘会活动方案
- 企业体能活动方案
- 企业公司团购活动方案
- 企业分散活动方案
- 贵州省黔南布依族苗族自治州三都水族自治县2022-2023学年五年级下学期数学期末试卷(含答案)
- 企业团体减压活动方案
- 中美芯片博弈趋向及我国应对策略
- 装修公司装修合同电子版
- 各大行业的分析
- 医学实验技术
- 应急救援安全应知应会题库应知应会题库
- 船舶修理培训课件
- 社区托管班方案
- 《大数据采集》期末考试复习题库(含答案)
- 2023年湖北省武汉市部分地区中考语文模拟试卷汇编:实用类文本阅读
- 监理工程师现场质量控制培训课件
- 挂职干部考核登记表
评论
0/150
提交评论