ANFIS学的步骤.doc_第1页
ANFIS学的步骤.doc_第2页
ANFIS学的步骤.doc_第3页
ANFIS学的步骤.doc_第4页
ANFIS学的步骤.doc_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

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

文档简介

本文所研究的单级倒立摆是基于Sugeno线性模型系统的,在MATLAB命令窗口输入anfisedit,即可调出ANFIS编辑界面。选择FileNew FISSugeno即可建立一个新的Sugeno线性模型系统:选择EditAdd VariableInput增加系统输入到4个,并修改输入和输出的变量名,分别为:theta,omega,x,v,F。theta为摆杆角度;omega为摆杆角速度;x为小车位移;v为小车速度;F为施加于小车的控制力。选择EditMembership Function编辑输入输出的隶属度函数。根据倒立摆控制运动规律的分析,设系统四个输入变量theta、omega、x、v论域分别为-0.3,0.3、-1,1、-3,3、-3,3。在满足一定精度的前提下,对每个输入变量仅取正负两个值,因此共有16条规则。由于钟形隶属度函数能较好地反映现实情况,故用它作为输入语言变量值的隶属度函数形式,初始输入语言变量值的隶属度函数如图所示。初始输入语言变量值的隶属度函数 角度初始输入语言变量值的隶属度函数 角速度初始输入语言变量值的隶属度函数 位移初始输入语言变量值的隶属度函数 速度其模糊控制规则可以描述为:Ri. If (theta is Ai) and (omega is Bi) and (x is Ci) and (v is Di) then (F=ai*theta+bi*omega+ci*x+di*v+ei) 其中,系数ai,bi,ci,,di,ei为系统结论参数;theta为摆杆角度;omega为摆杆角速度;x为小车位移;v为小车速度;F为施加于小车的控制力。若设输出变量F的论域为-20,20,则16条规则所对应的初始结论参数中的常数项ei可设为-20,-17,-14,-11,-8,-5,-2,0,0,2,5,8,11,14,17,20,其余各项参数均设为0。选择选择EditRules添加模糊规则:以上均设置完毕后,选择FileExportTo Disk,保存已设置好的系统,保存完成后的文件为invpend.fis。自适应神经网络模糊推理系统需要样本输入输出数据作为学习对象,本仿真中把MATLAB系统中自带的一级倒立摆系统中获得输入输出数据,在MATLAB命令窗口输入slcp,回车,即打开MATLAB系统自带的一级倒立摆系统,如下图所示:MATLAB系统自带的一级倒立摆系统由于我们要的是四个输入和一个输出的数据对,因此可将上图作如下调整:将模糊控制器的四个输入和一个输出连到一个示波器(scope)中,双击scope模块,选择其中的parameters选项,在Data history选项中设置save to workspace,并取消上面的limit data points to last,设置变量名(invpenddata)和类型(Array)。在General选项下设置采样时间为0.01s,采样时间60s。仿真实验后,就会将数据自动保存到workspace。处理得到的数据使前4列为ANFIS的输入,最后一列为ANFIS的输出,处理完的数据可以进一步保存为mat格式存储在MATLAB中,方便以后的调用。通过控制实验,采集了6000个系统输入输出数据对,采样周期是0.01秒,以用于系统的辨识。将采集的数据分为3组,每组2000个数据对,分别作为训练数据(invpenddata1)、检验数据(invpenddata2)和测试数据(invpenddata3)。在MATLAB命令窗口输入anfisedit invpend即可打开ANFIS编辑器界面:在编辑画面的左下方Load data区加载我们通过仿真实验得到的数据,先加载Training data():然后加载Testing data():再加载Checking data(+):在Generate FIS区域指定初始模糊推理系统,这里我们使用我们已经设置好的invpend.fis。选择Load from disk,然后点击Load选择invpend.fis。在Train FIS区域设置有关优化方法和参数,这里我们选择hybrid(混合算法),Error Tolerance(误差精度)设置为0,Epochs(训练次数)设为50,点击Train Now开始训练。由图可以看出,经过50次训练后的误差为0.33253。单击上图右侧上方的Structure按钮,可以看到训练后的系统结构如下:选择菜单EditMembership Function可以查看经过训练后的输入变量隶属度函数,如图:训练后输入语言变量值的隶属度函数 角度训练后输入语言变量值的隶属度函数 角速度训练后输入语言变量值的隶属度函数 位移训练后输入语言变量值的隶属度函数 速度比较训练前后的隶属度函数,可以发现训练前后隶属度函数的类型并没有改变,只是参数发生了变化。在如下图所示的隶属度函数编辑界面,我们可以查看每个输出隶属度函数的参数,点击一个输出函数,界面下方就会显示出该函数的类型和参数等。由此可以得到训练后系统16条控制规则:1. 27.96 61.06 237 -263 -90.712. 180.7 5.953 -125.7 -23.07 3.6773. -43.8 32.26 -14.01 43.23 11.374. 36.1 -44.65 -69.52 -52.27 113.95. 135.9 -211.7 10.3 30.06 120.26. 124.1 328.9 -20.48 3 37.4 -194.17. 51.41 33.31 -2.937 11.42 21.988. 54.58 -6.031 7.937 10.99 -3.5549. -109.2 -733.3 181.6 53.15 32110. -219.4 -15.26 -23.99 -8.648 6.05111. -230.6 216.8 161.6 -326.2 -580.512. 527.2 190.4 171.4 -11.71 73.2213. 39.07 17.18 1.221 1.398 -9.52714. 0.8999 122 190.3 46.98 308.115. -279.2 -210.1 -0.4162 -60.63 -67.1116. 79.62 -1371 127

温馨提示

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

最新文档

评论

0/150

提交评论