系统全参数辨识+matlab+实现.docx

上传人:b****5 文档编号:29672343 上传时间:2023-07-26 格式:DOCX 页数:9 大小:75.33KB
下载 相关 举报
系统全参数辨识+matlab+实现.docx_第1页
第1页 / 共9页
系统全参数辨识+matlab+实现.docx_第2页
第2页 / 共9页
系统全参数辨识+matlab+实现.docx_第3页
第3页 / 共9页
系统全参数辨识+matlab+实现.docx_第4页
第4页 / 共9页
系统全参数辨识+matlab+实现.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

系统全参数辨识+matlab+实现.docx

《系统全参数辨识+matlab+实现.docx》由会员分享,可在线阅读,更多相关《系统全参数辨识+matlab+实现.docx(9页珍藏版)》请在冰豆网上搜索。

系统全参数辨识+matlab+实现.docx

系统全参数辨识+matlab+实现

4.设某物理量Y与X满足关系式Y=aX2+bX+c,实验获得一批数据如下表,试辨识模型参数a,b和c。

(50分)

X

1.01

2.03

3.02

4.01

5

6.02

7.03

8.04

9.03

10

Y

9.6

4.1

1.3

0.4

0.05

0.1

0.7

1.8

3.8

9.0

报告要求:

要有问题描述、参数估计原理、程序流程图、程序清单,最后给出结果及分析。

(1)问题描述:

由题意知,这是一个已知模型为Y=aX2+bX+c,给出了10组实验输入输出数据,要求对模型参数a,b,c进行辨识。

这里对该模型参数辨识采用递推最小二乘法。

(2)参数估计原理

对该模型参数辨识采用递推最小二乘法,即RLS(recurisiveleastsquare),它是一种能够对模型参数进行在线实时估计的辨识方法。

其基本思想可以概括为:

新的估计值

=旧的估计值

+修正项

下面将批处理最小二乘法改写为递推形式即递推最小二乘参数估计的计算方法。

批处理最小二乘估计

,设k时刻的批处理最小二乘估计为:

K时刻的最小二乘估计可以表示为

=

=

;式中

,因为要推导出P(k)和K(k)的递推方程,因此这里介绍一下矩阵求逆引理:

设A、(A+BC)和(I+

)均为非奇异方阵,则

通过运用矩阵求逆引理,把复杂的矩阵求逆转化为标量求倒数,大大减小了计算量。

间的递推关系。

最终得到递推最小二乘参数递推估计公式如下:

(3)程序流程图(如右图1所示)

递推最小二乘法(RLS)步骤如下:

已知:

和d。

Step1:

设置初值

和P(0),输入初始数据;

Step2:

采样当前输出y(k)、和输入u(k)

Step3:

利用上面式计算

Step4:

k

k+1,返回step2,继续循环。

图1程序流程图

(4)Matlab仿真程序、输出参数估计值、

参数估计变化轨迹图像、结果分析

仿真程序如下:

X=[1.012.033.024.0156.027.038.049.0310];

Y=[9.64.11.30.40.050.10.71.83.89.0];

%实验输入数据、实验输出数据

symsabc%定义待辨识参数

theta=[a;b;c];%theta包含待辨识参数a,b,c

theta1=zeros(3,1);%对象参数初始化

P=10^6*eye(3)%构造初始P阵

fork=1:

10%仿真步长范围1到10

phi=[X(k)*X(k);X(k);1];

%y=aX*X+bX+c=phi'*theta

%theta=[a;b;c];phi=[X(k)*X(k);X(k);1]

K=P*phi/(1+phi'*P*phi);%递推最小二乘法K阵的递推公式

theta=theta1+K*(Y(k)-phi'*theta1);%theta的递推公式

P=(eye(3)-K*phi')*P;%递推最小二乘法P阵的递推公式

theta1=theta;%theta的最终估计向量

theta2(:

k)=theta;%theta估计向量矩阵化,目的是为了

%下面的plot仿真图像输出

end

theta1%输出参数估计值

plot([1:

10],theta2)%输出参数逐步递推估计的轨迹图像

xlabel('k');%设置横坐标为步长k

ylabel('参数估计a,b,c');%纵坐标为估计参数a,b,c

legend('a','b','c');%标示相应曲线对应的参数

axis([110-1020]);%设置坐标轴范围

P=

100000000

010000000

001000000

输出参数估计值、参数估计变化轨迹图像:

theta1=

0.4575

-5.0734

13.3711

图2参数估计逐步变化轨迹图像

结果分析:

通过matlab仿真可知,由递推最小二乘法辨识到的参数为:

a=0.4575;b=-5.0734;c=13.3711

所以Y=0.4575

-5.0734X+13.3711。

通过输入输出的数据验算,模型参数a,b,c的递推最小二乘估计在误差允许的范围内基本符合要求。

从上面参数估计逐步变化轨迹图像看出,参数a,b,c的递推估计曲线变化比较明显,曲线也不够平滑,这可能是由于题目只给出了10组实验输入输出数据,数据长度不算大,导致了参数估计的误差增大和估计精度不够高。

2怎样入门MATLAB

经过多年的发展MATLAB的功能相当强大,积聚了当今世界上各行各业的顶级人士的精华。

要学好、用好MATLAB不是短期所能为的。

当然,要快速掌握它还是比较轻松的。

大致可以分为一下几个阶段。

2.1MATLAB基本操作

这个阶段的目的在于掌握M文件和M函数的编写,掌握MATLAB的语法规则。

对任何一门程序的掌握都是通过掌握该程序的语法来完成的。

语句的表达对于任何语言都是一样的,如:

x+y,x^2,sqrt(x)等等,所以重点是掌握语言三种结构的描述方法:

顺序结构、分支结构和循环结构。

只要知道了程序是怎么顺序执行的(有没有标号、结束时用分号还是不用还是逗号)、分支结构中的if语句和switch语句和循环结构中的for语句和while语句是怎么执行的,知道子程序的结构,那么你就基本掌握该语言了,至于类呀什么的,用到的时候再学。

在该阶段对于学习MATLAB比较好的书大致有

[1]张平.MATLAB基础应用简明教程[M].北京:

航空航天大学,2001.TP213MA/Z278

[2]林雪松等.MATLAB7.0应用集锦[M].北京:

机械工业出版社,2005.9.TP213MA/L534

[3]姚俊等.simulink建模与仿真[M].西安:

西安电子科技大学,2002.8.TP213MA/Y237

2.2提高阶段

当学了一种语言后,重在应用,不用很快就会生疏的。

这时,可以看看别人是怎么应用MATLAB来解决实际问题的,同时也学到了分析问题、解决问题的能力,以后用得到的。

可以看的书大致有

[1]胡守信等.基于MATLAB的数学实验[M].北京:

科学出版社,2004.TP213MA/H499

主要侧重于基本介绍。

[2]刘福来等译.用Maple和MATLAB解决科学计算问题[M].高等教育出版社/施普林格出版社,1999.5.TP213MA/G144

相对于对常微分方程描述较详细。

[3]曾建军.MATLAB语言与数学建模[M].合肥:

安徽大学出版社,2005.6.TP213MA/Z173

涉及的面多一些,在看完前两本后,可适当加强。

2.3精通MATLAB

MATLAB包含的学科领域很广,包括的工具箱很多,对电气学科可能比较有用的工具箱大致有:

神经网络工具箱、小波分析工具箱、模糊工具箱、控制工具箱、遗传算法、支持相量机工具箱、随机微分方程工具箱等等。

大致可以看以下的书籍

[1]陈永春.MATLABM语言高级编程[M].北京:

清华大学出版社,2003.TP213MA/C354-2

可只看GUI界面设计部分,是设计GUI入门好书。

[2]邱晓林.基于MATLAB的动态模型与系统仿真工具—Simulink3.0/4.x[M].西安:

西安交通大学出版社,2003.10.TP391.9/Q376

该书有Simulink各个模块的使用说明,是学Simulink时的重要参考书。

[3]黄永安,马路.MATLAB7.0/Simulink6.0建模仿真开发与高级工程应用[M].北京:

清华大学出版社,2005.12.TP391.9/H686

S函数是使用Simulink的最高境界,只需看本书对应的一章即可,只十几页。

2.4参考书籍

以下这些书籍是使用过程中的参考书,不必吃透,之后用到时翻翻,可能会提高程序代码的效率,编写出很多实用简洁的算法程序。

把它们当英语字典一样用就可以了。

《精通MATLAB7》或《精通MATLAB6》等等

《MATLAB函数库查询辞典》

3MATLAB的一些使用算法参考书籍

以下这些书籍中有当今很流行、很热门的算法的原始代码,程序都不长,很容易掌握,并为自己所用。

[1]刘金琨.先进PID控制与MATLAB仿真[M].北京:

电子工业出版社,2003.1.TP273/L587.2

该书是使用程序设计控制算法最好的书籍(个人认为),并且该书还包括了各种实用、流行且很热的算法,比如:

遗传算法、模糊、神经网络算法的基础原始程序,是学习这些算法编程的最佳选择。

[2]刘金琨.滑模变结构控制与MATLAB仿真北京清华大学出版社,2005.10.TP273/L587.2-2

主要涉及各种滑模控制,S函数与Simulink仿真,各种神经网络控制。

[3]薛定宇.控制系统计算机辅助设计MATLAB语言与应用(2版)[M].北京:

清华大学出版社,2005.7.TP273/X516a

该书被一直被认为是控制理论仿真最好的书籍,设计的东东有神经网络PID的S函数仿真、遗传算法、最小二乘在线辨识等等。

[4]雷英杰.MATLAB遗传算法工具箱及应用[M].西安:

西安电子科技大学,2005.4.TP18/L259

该书是英国谢菲尔德大学版遗传算法工具箱的中文版使用说明,该工具箱是使用最广泛的遗传算法工具箱,并有很多测试实例。

可以很快嵌套到自己的项目中。

[5]张晓华.系统建模与仿真[M].北京:

清华大学出版社,2006.12.N945.12/Z285

该书教你如何从最初的物理模型出发,抽象出数学模型,并最总用Simulink仿真,实例表述清晰各个案例都可以自己重现出来。

学完该书后,任何建模仿真的问题都不会称为问题。

[6]宋来忠等.数学建模与实验[M].北京:

科学出版社,2005.O141.4/S736

这是一本数模的基础书,但是很多例子很实用,还是列在这里供参考。

包括:

假设检验、层次分析、整数规划等等,讲得很浅显、通俗,但很实用。

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1