系统辨识matlab最小二乘法.doc_第1页
系统辨识matlab最小二乘法.doc_第2页
系统辨识matlab最小二乘法.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、 实验题目:最小二乘法在系统辨识中的应用二、 实验目的 1.掌握系统辨识的理论、方法及应用 2.熟练Matlab下最小二乘法编程 3.掌握M序列产生方法三、 实验设备1、 硬件设备:计算机配置,P4、32位CPU、512M内存2、 软件设备: windows xp操作系统 、matlab6.5软件包四、 实验原理最小二乘理论是有高斯(K.F.Gauss)在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”。单输入单输出离散时间动态系统差分方程为:其中Z(k)为输出变量,u(k)为输入变量,e(k)为偏差。上式可以表示为各参数用矩阵表示(1) (2)其中l为所需要采集的点数。 (3) (4)Z=H*+E,E=Z-H*,根据最小二乘理论E必须最小对上式进行求导,推出 根据表达式带入(1)(2)(4)即可求出a1.anb1.bn。五、 实验代码以及实验结果 m=20; %置M序列总长度y1=1;y2=1;y3=1;y4=0;for i=1:m x1=xor(y3,y4);%异或运算x2=y1;x3=y2;x4=y3; if y4=0; u(i)=1; else u(i)=-1; endy1=x1;y2=x2;y3=x3;y4=x4;endz=zeros(21,1);%定义输出观测值的长度21行*1列的0矩阵ZL=zeros(19,1);%定义输出观测值的长度19行*1列的0矩阵for k=3:21 z(k)=-1.5*z(k-1)-z(k-2)+u(k-1)+3*u(k-2) ;%用理想输出值作为观测值ZL(k-2)=z(k);end%subplot(3,1,1) %画三行一列图形窗口中的第一个图形%stem(u) %画出输入信号u的图形%subplot(3,1,2) %画三行一列图形窗口中的第二个图形%i=1:1:16; %横坐标范围是1到16,步长为1%plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线%subplot(3,1,3) %画三行一列图形窗口中的第三个图形%stem(z),grid %画出输出观测值z的图形,并显示坐标网格for m=2:20 HL=-z(m) -z(m-1) u(m) u(m-1); for n=1:4; H(m-1),n)=HL(n); endendc1=H*H; c2=inv(c1); c3=H*ZL; c=c2*c3 a1=c(1), a2=c(2), b1=c(3), b2=c(4)实验结果:c = 1.5000 1.0000 1.0000 3.0000a1 = 1.5000a2 = 1.0000b1 = 1b2 = 3.0000六、 实验结果分析通过实验结果可知所得的实验结果与待辨识的系统传递函数的系数很接近了。即代码实现了待辨识系统的辨识。但是在改变系统传递函数的系数时,系数超过一定范围系统将辨识不出来,然而改变M序列的脉冲个数后范围将变化,由此可知待辨识系统的参数选择和M序列脉冲个数有关。七、 实验心得 通过本次实验掌握了M序列的产生机理,以及如何用MATLAB产生M序列。通过查

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论