《系统建模与仿真》实验报告.doc_第1页
《系统建模与仿真》实验报告.doc_第2页
《系统建模与仿真》实验报告.doc_第3页
《系统建模与仿真》实验报告.doc_第4页
《系统建模与仿真》实验报告.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

实验1 最小二乘法的实现实验报告哈尔滨工业大学航天学院控制科学与工程系专业: 班级: 姓名: 日期: 年 月 日1实验题目: 最小二乘法的实现 2实验目的熟悉并掌握递推最小二乘法的算法原理掌握进行系统参数辨识的算法原理和编程方法和原则熟悉matlab编程方法3递推最小二乘法的公式对于系统方程,普通最小二乘估计的结果为,但这个方法当的维数比较大时运算量非常大,而为了保证精度的维度通常很大,这样就不便于进行在线辨识,于是便有了递推最小二乘法。 其中 经过一系列的推导,最终可求得递推最小二乘法辨识公式: 其中: 4写出给定系统结构、实际参数、噪声源及输入信号给定系统的差分方程形式描述为:具体参数,但是不已知,需要用最小二乘法进行在线辨识。其中的零均值白噪声。由方程的形式知系统的。辨识过程中采用的信号源为5画出程序框图6写出matlab的m文件%a1=2;a2=1.3;b0=0.4;b1=0.88;b2=2.2;c=10000;n=2; for k=1:1:100 u(k)=1.5*sin(0.2*k); %end y(1)=0;y(2)=0;for n=1:1:98 %y(n+2)=-a1*y(n+1)-a2*y(n)+b0*u(n+2)+b1*u(n+1)+b2*u(n)+0.2*rand(1)-0.1;endz=c2;p=z*eye(5,5);para(:,1)=0 0 0 0 0;out=0;for j=2:1:20 %20 yn=y(n+j+1);fayn=-y(n+j) -y(n+j-1) u(n+j+1) u(n+j) u(j+1);k=p*fayn*(1+fayn*p*fayn)-1);para(:,2)=para(:,1)+k*(yn-fayn*para(:,1)p=p-k*fayn*p;out=out+1;end7实验结果分析设定的初值为0,迭代20次,结果如下:1.9750 1.3028 0.4766 0.7160 0.7268与原系统的参数有着一定的偏差8结论某些系统的数学模型很难用机理建模法来完成,这是因为这些系统大都是复杂的工业过程系统,其工艺过程、工况等都十分复杂,有些甚至是人们无法洞悉或了解的。 在这种情况下,我们可以用系统的输入输出历史数据来推测系统的数学模型。这种方法就是所谓的系统辨识技术。系统辨识也属于经典建模技术的一种。在研究系统辨识问题时,将把待辨识的系统看作“黑箱”,只考虑系统的输入-输出特性,而不强调系统的内部机理。最小二乘法是为了解决如何从一组测量值中寻求可信赖值的问题。最小二乘法的基本原理是:成对等精度地测得一组数据xi,yi (i=1,2,n),试找出一条最佳的拟合曲线,使得这条拟合曲线上的各点的值与测量值的差的平方和在所有拟合曲线中最小。最小二乘法是一种数学优化技术,它通过最小化误差的平方和找到一组数据的最佳函数匹配。最小二乘法是用最简的方法求得一些绝对不可知的真值,而令误差平方之和为最小。最小二乘法通常用于曲线拟合。很多其他的优化问题也可通过用最小二乘形式表达。最小二乘法的基本思想是使系统实际输出与估计输出(带有估计参数的系统的输出)的偏差(残差)的平方和最小。在这个原则下,通过残差平方和关于估计参数向量的偏导数等于零这一方法来最终求得估计参数向量。最小二乘估计 式中矩阵的阶数越大,所包含的信息量就越多,系统参数估计的精度就越高。为了获得满意的辨识结果,矩阵的阶数常常取得相当大。这样,在用式(2.146)计算系统参数的估计值时,矩阵求逆的计算量很大。最小二乘估计参数最终的收敛相当快,而且估计稳态误差均为零。在反馈控制律使用最小二乘估计参数的情况下,闭环系统还是渐近稳定的。实验2 龙格-库塔法的实现实验报告哈尔滨工业大学航天学院控制科学与工程系专业: 班级: 姓名: 日期: 年 月 日1实验题目: 龙格-库塔法的实现 2实验目的熟悉并掌握龙格-库塔法的数值积分原理熟悉matlab编程方法3四阶龙格-库塔法的公式给定常微分方程 (1)及初始条件,要求函数的数值解。四阶龙格库塔法公式: (2)其中:其中为积分步长。4写出微分方程组及其初始条件、积分步长、计算总步数待求的常微分方程组如下: 初值: 积分步长为计算总步数为10005画出程序框图6用matlab编制四阶龙格-库塔法的m文件function kk=fn(t,x) f1=x(1)*x(2)2-x(1); f2=-3*x(2)+cos(x(1);kk=f1,f2;h=0.001; x(1,:)=-3 2; for k=1:1:999t(k)=(k-1)*h; xx=x(k,:); k1=fn(t(k),xx); k2=fn(t(k)+h/2,xx+(h/2)*k1); k3=fn(t(k)+h/2,xx+(h/2)*k2); k4=fn(t(k)+h,xx+h*k3); x(k+1,:)=x(k,:)+(h*(k1+2*k2+2*k3+k4)/6); end8结论龙格库塔法在后一步的计算中,仅仅利用前一步的计算结果,称为单步法,它不仅能使存储量减小,而且此法可以自启动,即已知初值后,不必用别的方法来帮助,就能由初值逐步计算得到后续各时间点上的仿真值。步长h在整个计算中并不要求固定,可以根据精度要求改变,但是在一步中算若干个系数,则必须用同一个步长。 为达到相同的精度,四阶方法的h可以比二阶方法的h大10倍,而四阶方法的每步计算量仅比二阶方法大1倍,所以总的计算量仍比二阶方法小。正是由于上述原因,一般系统进行数字仿真常用四阶龙格库塔公式。值得指出的是:高于四阶的方法由于每步计算量将增加较多,而精度提高不快,因此使用得也比较少。对于离线仿真,使用文件的读写要比使用数组更为优越。对于时滞系统的仿真,需要对4阶龙格-库塔法进行适当的改进。在本次实际编写龙格库塔的matlab程序,求解一个二阶非线性系统的状态方程的数值解,从这个过程中,我加深了对于龙格库塔方法的认识,了解了其在数值仿真中的作用,四级龙格库塔方法是求解系统状态响应数值解的有效方法。实验3 随动控制系统仿真实验报告哈尔滨工业大学航天学院控制科学与工程系专业: 班级: 姓名: 日期: 年 月 日1实验题目: 随动控制系统仿真 2实验目的熟悉随动系统的工作原理,掌握simulink模块化仿真方法。熟悉matlab编程方法3给定的被控

温馨提示

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

评论

0/150

提交评论