系统辨识大作业.docx
- 文档编号:2127974
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:20
- 大小:275.39KB
系统辨识大作业.docx
《系统辨识大作业.docx》由会员分享,可在线阅读,更多相关《系统辨识大作业.docx(20页珍藏版)》请在冰豆网上搜索。
系统辨识大作业
系统辨识作业
学院:
信息与控制工程学院
专业班级:
姓名:
学号:
2011年4月15日
一、
(1)
Ø题目要求
一钢球以零初速由电视天线上自由下落,实验测得下落时间和距离的数据如下:
t(s)
1
2
3
4
5
6
l(m)
8.94
20.05
50.65
72.19
129.85
171.56
假设时间t无量测误差,而距离l有量测误差。
用最小二乘法确定重力加速度g。
Ø分析:
对于初速度为零,从初始位置下落,下落距离等于重力加速度乘以下落时间t的平方的二分之一,因此,此处使用最小二乘法的基本算法,即可求得g的估计值,同时经画图可在坐标上描出对应的点,通过其曲线对结果进行相应的验证。
Ø作业程序:
clearall
closeall
clc
%%%%第一题
(1)程序%%%%
t=[0123456]';
L=[08.9420.0550.6572.19129.85171.56]';
T=0.5*t.^2;
A=polyfit(T,L,1);
z=polyval(A,T);
figure
plot(T,z);
figure
plot(T,L,'b+')
g=A
(1)%辨识参数
holdon
plot(T,z,'r');
xlabel('T/s^2');
ylabel('L/m');
title('最小二乘法求重力加速度g');
holdoff
Ø运行结果:
a.最小二乘法拟合曲线图
b.参数辨识:
g=9.5793
即求得重力加速度值为9.5793。
(2)
Ø题目要求
设两国军备竞赛模型为
x(k)=ax(k-1)+by(k-1)+f
y(k)=cx(k-1)+dy(k-1)+g
式中x(k)和y(k)为两国军事费用(单位:
百万美元),已知数据如下:
k
伊朗
伊拉克
北约
华约
1972
2891
909
216478
112893
1973
3982
1123
211146
115020
1974
8801
2210
212267
117169
1975
11230
2247
210525
119612
1976
12178
2204
205717
121461
1977
9867
2303
212009
123561
1978
9165
2179
215988
125498
1979
5080
2675
218561
127185
1980
4040
0
225411
129000
1981
0
0
233957
131595
试用最小二乘法确定模型参数a,b,c,d,f和g。
Ø分析
同上题,仍然利用最小二乘法,只不过此题不是单个数,而是矩阵。
Ø作业程序
●伊朗和伊拉克
clearall
closeall
clc
%%%%第一题
(2)1程序%%%%
y=[9091123221022472204230321792675];
x=[2891398288011123012178986791655080];
fork=2:
8
h(k,:
)=[x(k-1)y(k-1)1];
z(k,:
)=[x(k)y(k)];
end
est=inv(h'*h)*h'*z;%算出a、b、f、c、d、g估计值,为三行两列的矩阵a=est(1,1),b=est(2,1),f=est(3,1),c=est(1,2),d=est(2,2),g=est(3,2)%分别取到a、b、f、c、d、g
plot([1972:
1979],x,'r');holdon%画出实际与各自的估计曲线
hg=h*est;
abf=(hg(:
[1]))';
plot([1972:
1979],abf,'b');holdon
plot([1972:
1979],y,'r');holdon
hg=h*est;
cdg=(hg(:
[2]))';
plot([1972:
1979],cdg,'g');
xlabel('年代');
ylabel('军事费用/百万美元');%写出坐标表头
legend('伊朗实际值','伊朗估计值','伊拉克实际值','伊拉克估计值');
title('伊朗与伊拉克军事费用对比');holdoff
●北约和华约
clearall
closeall
clc
x=[216478211146212267210525205717212009215988218561255411233957];
y=[112893115020117169119612121461123561125498127185129000131595];
fork=2:
10
h(k,:
)=[x(k-1)y(k-1)1];
z(k,:
)=[x(k)y(k)];
end
est=inv(h'*h)*h'*z;%用最小二乘法求出估计值a=est(1,1),b=est(2,1),f=est(3,1),c=est(1,2),d=est(2,2),g=est(3,2)
plot([1972:
1981],x,'r');holdon
hg=h*est;
abf=(hg(:
[1]))';%取guji矩阵的第一列即a,b,f的值
plot([1972:
1981],abf,'b');holdon
plot([1972:
1981],y,'g');holdon
cdg=(hg(:
[2]))';
plot([1972:
1981],cdg,'b');holdon
xlabel('年代');ylabel('军事费用/百万美元');%写出坐标表头
legend('北约实际值','北约估计值','华约克实际值','华约克估计值');
title('北约与华约事费用对比');holdoff
Ø最小二乘法辨识结果
最小二乘法辨识结果
参数
A
b
f
c
d
G
伊朗与伊拉克
0.5481
-0.2034
4447.5
-0.0306
0.7443
987.1565
北约与华约
0.1540
1.7438
-70770
0.0181
0.9675
2075.6
Ø结果分析
由以上对比曲线可以看出,经过最小二乘法估计得到的数据与实际数据之间虽然存在区别,但是基本符合要求,故可取该组辨识参数数据。
二、
Ø题目要求
考虑理想数学模型为
选择如下的辨识模型进行增广递推最小二乘参数辨识。
给出各参数的辨识曲线和辨识误差曲线。
Ø分析
应该使用增广递推最小二乘算法。
Ø作业程序
clearall
closeall
clc
%%%%第二题程序%%%%
N=15;
%4位移位寄存器产生的M序列的周期
y1=1;y2=1;y3=1;y4=0;
fori=1:
N;
x1=xor(y3,y4);
x2=y1;
x3=y2;
x4=y3;
y(i)=y4;
ify(i)>0.5,u(i)=-1;
elseu(i)=1;
end
y1=x1;y2=x2;y3=x3;y4=x4;
end
%白噪声的产生
A=19;x0=12;M=1024;
fork=1:
N
x=A*x0;
x1=mod(x,M);
v(k)=x1/512;
x0=x1;
end
%辨识主程序
z=zeros(7,N);zs=zeros(7,N);zm=zeros(7,N);zmd=zeros(7,N);
z
(1)=0;z
(2)=0;
zs
(1)=0;zs
(2)=0;
zm
(1)=0;zm
(2)=0;
zmd
(1)=0;zmd
(2)=0;
theta=zeros(7,1);
p0=10^6*eye(7,7);
the=[theta,zeros(7,14)];
e=zeros(7,15);
fork=3:
N;
z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)-v(k-1)+0.2*v(k-2);
h=[-z(k-1),-z(k-2),u(k-1),u(k-2),v(k),v(k-1),v(k-2)]';
x=inv(h'*p0*h+1);
q=p0*h*x;
d1=z(k)-h'*theta;
theta1=theta+q*d1;
zs(k)=-1.5*z(k-1)+0.7*z(k-2)+u(k-1)+0.5*u(k-2);
zm(k)=[-z(k-1),-z(k-2),u(k-1),u(k-2)]*[theta1
(1);theta1
(2);theta1(3);theta1(4)];
zmd(k)=h'*theta1;
e(:
k)=theta1-theta;
theta=theta1;
the(:
k)=theta1;
p1=p0-q*q'*[h'*p0*h+1];
p0=p1;
end
figure
(1);
i=1:
N;
plot(i,the(1,:
),'r',i,the(2,:
),'r:
',i,the(3,:
),'b',i,the(4,:
),'b:
',i,the(5,:
),'g',i,the(6,:
),'g:
',i,the(7,:
),'g+')
title('辨识曲线')
figure
(2);
i=1:
N;
plot(i,e(1,:
),'r',i,e(2,:
),'r:
',i,e(3,:
),'b',i,e(4,:
),'b:
',i,e(5,:
),'g',i,e(6,:
),'g:
',i,e(7,:
),'r+')
title('辨识误差曲线')
Ø运行程序,得到以下曲线
Ø得到参数辨识结果
增广最小二乘参数辨识结果
参数
a1
a2
b1
b2
d1
d2
d3
真值
1.5
0.7
1.0
0.5
1.2
-1.0
0.2
估计值
1.5
0.7
1.0
0.5
1.2
-1.0
0.2
三、
Ø题目要求
完善试验2,给出由相关分析法给出的脉冲响应函数辨识曲线,在试验2的基础上,给出拟合二阶及三阶系统的最小二乘辨识参数曲线,及由脉冲响应函数反求传函。
Ø分析
利用带遗忘因子的递推算法。
Ø作业程序
clearall
closeall
clc
%%%%第三题程序%%%%
n=2;Ts=2;np=15;%n阶次,Ts采样时间
U=UY(61:
300,1);%输入初值U
Y=UY(61:
300,2);%输入初值Y
f=zeros(120,4);
f(:
1)=-1*Y(61:
180);
f(:
2)=-1*Y(60:
179);
f(:
3)=U(61:
180);
f(:
4)=U(60:
179);
yy=Y(62:
181);
q=inv(f'*f)*f'*yy;
a=q(1:
2);
b=q(3:
4);
G=tf(b',[1a'],2)%传递函数GLS(z)
yc=zeros(n+np,1);%脉冲响应
uc=zeros(n+np,1);
uc(n+1)=1/Ts;
for
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统 辨识 作业