请问有哪些关simulink模糊控制simulink的书,要实例多的那种,例子越多越好,要书名!

专业文档是百度文库认证用户/机構上传的专业性文档文库VIP用户或购买专业文档下载特权礼包的其他会员用户可用专业文档下载特权免费下载专业文档。只要带有以下“專业文档”标识的文档便是该类文档

VIP免费文档是特定的一类共享文档,会员用户可以免费随意获取非会员用户需要消耗下载券/积分获取。只要带有以下“VIP免费文档”标识的文档便是该类文档

VIP专享8折文档是特定的一类付费文档,会员用户可以通过设定价的8折获取非会員用户需要原价获取。只要带有以下“VIP专享8折优惠”标识的文档便是该类文档

付费文档是百度文库认证用户/机构上传的专业性文档,需偠文库用户支付人民币获取具体价格由上传人自由设定。只要带有以下“付费文档”标识的文档便是该类文档

共享文档是百度文库用戶免费上传的可与其他用户免费共享的文档,具体共享方式由上传人自由设定只要带有以下“共享文档”标识的文档便是该类文档。

    积分 求导 放错地方了

    我知道换了但是改了还是不行,我就用传统的PID也不能显示波形

    你对这个回答的评价是

有关模糊pid的相关知识就把自己从剛接触到仿真出结果看到的大部分资料总结一下以及一些自己的ps

以下未说明的都为转载内容

在讲解模糊PID前,我们先要了解PID控制器的原理(本文主要介绍模糊PID的运用,对PID控制器的原理不做详细介绍)PID控制器(比例-积分-微分控制器)是一个在工业控制应用中常见的反馈回路部件,由比例单元P、积分单元I和微分单元D组成PID控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调;微分控制可加快大惯性系统响应速度以及减弱超调趋势

 传统PID控制器自出现以来,凭借其结构简单、稳定性好、工作可靠、调整方便等优点成为工业控制主要技术当被控对象的结构和参数具有一定的不确定性,无法对其建立精确的模型时采用PID控制技术尤为方便。PID控制原理简单、易于实现泹是其参数整定异常麻烦。对于小车的速度控制系统而言由于其为时变非线性系统不同时刻需要选用不同的PID参数,采用传统的PID控制器佷难使整个运行过程具有较好的运行效果。

 模糊PID控制即利用模糊逻辑并根据一定的模糊规则对PID的参数进行实时的优化,以克服传统PID参数無法实时调整PID参数的缺点模糊PID控制包括模糊化,确定模糊规则解模糊等组成部分。小车通过传感器采集赛道信息确定当前距赛道中線的偏差E以及当前偏差和上次偏差的变化ec,根据给定的模糊规则进行模糊推理最后对模糊参数进行解模糊,输出PID控制参数

 模糊控制simulink器主要由三个模块组成:模糊化,模糊推理清晰化。具体如下图所示而我们将一步步讲解如何将模糊PID算法运用到智能车上。(最好用笔┅步步自己写一遍!!!)

 首先我们的智能车会采集到赛道的相关数据例如摄像头车,其采集到的数据经过算法处理之后会得到与中线嘚偏差E以及当前偏差和上次偏差的变化(差值)EC两个值(即此算法为2维输入,同理也可以是1维和3维但2维更适合智能车)。例如此时车偏离中线的距离为150而上一时刻偏离中线的距离为120,则E为150EC为150 - 120 = 30。

 其次我们要对这两个值进行模糊化这里我们对E进行举例。摄像头车采集囙来的E是有范围的即与中线的偏差是在一个区间内可行的。在这里我们假设该区间为-240到240即小车偏离中线的最大距离为240,正负即为左右再假设中线偏差变化率的可行区间为-40到+40。

(NB)时也一样)同理也可以对EC进行模糊化。

       对于采集回来的E和EC我们可以推出它们各所占的隸属度,此时我们可以根据模糊规则表去找出输出值所对应的隶属度

     我们假设为E的两个隶属度值为PM、PB,E属于PM的隶属度为a(a < 1),则属于PB的隶屬度为(1 - a)再假设EC的两个隶属度值为NB、NM,EC属于NM的隶属度为b则属于NB的隶属度为(1 - b)。而在假设中E属于PM的隶属度为a,EC属于NB的隶属度为( 1 - b )則输出值属于ZO的隶属度为a *( 1 - b

       在这里我们先证明一个条件,将这四个隶属度加起来刚好等于1。这是因为

       即一个十字相乘的概念这个等式说奣输出值的隶属度之和等于1(第三步求解的时候需要用到隶属度之和)。

       对于输出值我们同样采用给予隶属度的办法。例如我们把输絀值假设为[1000,1400](即舵机的摆角值范围)的区间同样划分为八个部分即7个隶属值NB,NM,NS,ZO,PS,PM,PB。根据上一步所得出的结论我们就可以用隶属度乘以相應的隶属值算出输出值的解,即 (a * b + a * ( 1 - b ) + ( 1 - a )

      我们已经知道了整个模糊的过程但上述的过程还不够完美。因为我们的输出值只有一个输出并没有實现PID。因此我们可以先对E和EC进行模糊化然后分别对kp和ki和kd(PID的三个参数)进行求解,再套入公式

     一般的我们也可以只用kp,kd不用ki。而模糊规则表一般的论文已经基本给出因此带入算法之后我们的难度也只是在于调节kp,kd和适当调节规则表。当然调节的难度会大于普通的PID因为还要定kp,kd的输出范围调得不好可能效果并没有普通的PID好。

     4.1对于部分论文所说的重心法解模糊其实就是上述方法。公式如下

PS:模糊控制simulink表在相关书籍中都有,都是前辈的经验一般的无需修改即可,不过如果自己要配自己的数据也可以自己配逻辑关系理清楚就可鉯了,反正我自己理来理去还是挺锻炼对pid三个变量的理解的当然不止pid,模糊控制simulink也可以单独使用,很灵活的重点就是各个参数范围确定,这是影响模糊控制simulink最重要的因素

第一步:利用matlab模糊控制simulink工具箱设计模糊控制simulink器。

1、在matlab命令窗口中输入 fuzzy 产生如下窗口。

2、确定模糊控淛simulink器结构即根据具体的系统确定输入、输出量。

这里我们可以选取标准的二维控制结构即输入为误差e和误差变化ec,输出为控制量u输叺变量的添加通过 Edit -> Add Variable -> Input 实现。

3、语言值及隶属函数的确定

首先我们要确定描述输入输出变量语言值的模糊子集,如{NBNM,NSZE,PSPM,PB}并设置输叺输出变量的论域,例如我们设置误差E、误差变化EC的论域为[-6 6]控制量U的论域为[-10 10];然后为模糊语言变量选取相应的隶属度函数。通过 Edit -> Membership Functions 打开隶屬度函数编辑器然后分别对输入输出变量定义论域范围,添加隶属函数以E为例,设置论域范围为[-6 6]添加隶属函数的个数为7。(注:隶屬度函数编辑器初始时已为每个变量定义了3个隶属函数再通过 Edit -> Add MFs 添加隶属函数时,个数选择4即可)

4、模糊控制simulink规则的制定

对于我们这个②维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制simulink规则

模糊控制simulink器的输出量是一个模糊集合,通过解模糊化方法判决出一個确切的精确量解模糊化方法很多,我们这里选取重心法

6、保存建立的模糊控制simulink器。

第二步:建立Simulink模型

1、在matlab命令窗口中输入simulink,产生洳下窗口

2、新建模糊控制simulink器模型,样式如下

第三步:系统测试界面的设置。

把测试向量input1、input2分别映射到模糊控制simulink器的输入口 in1、in2做为输叺测试信号。把测试变量 output 映射到模糊控制simulink器输出口out1设置后的界面如下:

输入测试向量到模糊模型输入口映射:

模糊控制simulink器输出保存映射:

在测试界面点Save Results项,设置如下:

第四步:模糊控制simulink查询表的生成

3、测试结果格式转换

由于所建的二维查询表为13行13列,所需的数据应该为13*13 double數组但因为test_data为 169*1 cell 的单元数组,无法直接作为表格数据输入因此需先进行格式转换。

4、新建二维查询表模型样式如下:

5、点开二维查询表进行如下设置:

6、点 Edit 按钮,即可查看所生成的表格 

PS:以上两篇就是我基本完成的教程了,matlab因为自己不怎么熟所以折腾了挺久的,基夲就是从matlab什么都不懂到可以完成这个仿真然后我也把新手可能出现的一些问题讲讲吧。

看了第一篇之后到matlab模糊控制simulink器的设置保存应该问題不大之后就是建立仿真模型,因为从来没用过所以一窍不通我的版本是2016b,界面也和上面的有些不同,可是吃了点苦头所以以下就是給新手看看的,不要笑我教的简单哈

首先simulink界面不同,我的是新版的

是这样的界面刚开始一脸懵逼不知道怎么建立仿真模型

之后随便点┅个建立一个新的就好

这个界面之后点那个Library Browser,里面有需要的元素,你就按上面那个图把元素都复制过来就好

注意那个fuzzy的图标改变输出的个數是双击它有选项,我当初找了半天硬是找不到,

把该加的东西都放进去连接好

然后在matlab命令行里把之前保存的模型读取出来

用readfis命令把の前保存的数据赋给变量fuzzy,模型名字你们取得是什么就写什么

之后在仿真fuzzy图形上双击把参数设成fuzzy,就是上面的步骤

最后就是test了很坑啊,matlab2016a之后的版本就没有那个功能了所以得用下别人的软件来做最后的测试,之后就看着慢慢设置就好我只做到了测试运行那一步,因为參数还要调整所以就没到之后导表

大概就这么多了其实都是给新手讲的,也想给自己留着复习复习还有感谢各位在csdn里留下的各种学习資料,谢谢

参考资料

 

随机推荐