matlab的simulink中怎么调用设计好的模糊控制器

matlab的simulink中怎么调用设计好的模糊控制器,第1张

从simulink library browser ——>fuzzy Logic Toolbox ——>fuzzy logical controller 拖到simulink中。双击 fuzzy logical controller ,输入做好的模糊控制器名称。把控制器放在系统的位置,就可以了,再运行simulink,步骤如下:

1、打开matlab软件;

2、输入一下指令,清空工作空间;clearclc

3、输入一下指令定义一个符号变量,如图所示;sysm x

4、输入一下指令,定义一个函数;f1=atan(x)

5、输入一下指令求解导函数的符号解;df1=diff(f1,x)

6、输入一下指令查看求导的结果,如图所示;subplot(1,2,1)ezplot(f1),grid onsubplot(1,2,2)ezplot(df1),grid on

注意事项:

第一个数字就是是第一个输入量所取的模糊子集的排序,第二个数字代表取二个输入量中所取的模糊子集的排序,第三个数字代表输出量中所取的模糊子集的排序,第四个数字代表这条规则被综合时的权重是1。

1、在空座空间中输入 name1=readfis('name2') 其中,name1是你自己随便取的,name2是已经保存的fis文件名,不加.fis

2、在simulink中,右击Fuzzy logic controller→look under mask,在新窗口的fis wizard 双击,输入name1,即可。

MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The MathWorks公司出品的商业数学软件。MATLAB是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。除了矩阵运算、绘制函数/数据图像等常用功能外,MATLAB还可以用来创建用户界面及与调用其它语言(包括C、C++、Java、Python和FORTRAN)编写的程序。

Matlab模糊控制工具箱为模糊控制器的设计提供了一种非常便捷的途径,通过它我们不需要进行复杂的模糊化、模糊推理及反模糊化运算,只需要设定相应参数,就可以很快得到我们所需要的控制器,而且修改也非常方便。下面将根据模糊控制器设计步骤,一步步利用Matlab工具箱设计模糊控制器。

模糊控制工具箱使用,首先我们在Matlab的命令窗口中输入fuzzy,回车就会出来这样一个窗口。下面我们都是在这样一个窗口中进行模糊控制器的设计。

确定模糊控制器结构:即根据具体的系统确定输入、输出量。这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。注意这里的变量还都是精确量。相应的模糊量为E,EC和U,我们可以选择增加输入AddVariable来实现双入单出控制结构。

输入输出变量的模糊化:即把输入输出的精确量转化为对应语言变量的模糊集合。

首先我们要确定描述输入输出变量语言值的模糊子集,如NB,NM,NS,ZO,PS,PM,PB,并设置输入输出变量的论域,例如我们可以设置误差E(此时为模糊量)、误差变化EC、控制量U的论域均为-3,-2,-1,0,1,2,3;然后我们为模糊语言变量选取相应的隶属度函数。

在模糊控制工具箱中,我们在MemberFunctionEdit中即可完成这些步骤。首先我们打开MemberFunctionEdit窗口。

然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为,添加隶属函数的个数为7。然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11130359.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存