① 如何使用matlab中fuzzy logic toolbox建立一个mamdani型模糊控制器
首先,将下载的工具箱文件解压,将文件夹复制到MATLAB安装目录下toolbox文件夹下。
其次,在MATLAB命令行中输入如下命令: >>cd D:\MATLAB7\toolbox\piotr_toolbox % 找到你的工具箱 >> addpath(genpath('D:\MATLAB7\toolbox\piotr_toolbox')) %。
② 怎么通过 matlab 测试博途模糊控制结果
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。然后根据设计要求分别对这些隶属函数进行修改,包括对应的语言变量,隶属函数类型。
③ matlab聚类工具箱在哪里
在matlab环境中首先运行install.m,将工具箱所在路径添加至matlab就可以找到了。
④ 如何利用matlab将模糊逻辑转化为查询表
第一步:利用matlab模糊控制工具箱设计模糊控制器。
1、在matlab命令窗口中输入 fuzzy ,产生如下窗口。
2、确定模糊控制器结构,即根据具体的系统确定输入、输出量。
这里我们可以选取标准的二维控制结构,即输入为误差e和误差变化ec,输出为控制量u。输入变量的添加通过 Edit -> Add Variable -> Input 实现。
3、语言值及隶属函数的确定。
首先我们要确定描述输入输出变量语言值的模糊子集,如{NB,NM,NS,ZE,PS,PM,PB},并设置输入输出变量的论域,例如我们设置误差E、误差变化EC的论域为[-6 6],控制量U的论域为[-10 10];然后为模糊语言变量选取相应的隶属度函数。通过 Edit -> Membership Functions 打开隶属度函数编辑器,然后分别对输入输出变量定义论域范围,添加隶属函数,以E为例,设置论域范围为[-6 6],添加隶属函数的个数为7。(注:隶属度函数编辑器初始时已为每个变量定义了3个隶属函数,再通过 Edit -> Add MFs 添加隶属函数时,个数选择4即可)
4、模糊控制规则的制定。
对于我们这个二维控制结构以及相应的输入模糊集,我们可以制定49条模糊控制规则。
5、解模糊。
模糊控制器的输出量是一个模糊集合,通过解模糊化方法判决出一个确切的精确量,解模糊化方法很多,我们这里选取重心法。
6、保存建立的模糊控制器。
File -> Export -> To File,文件名为 fuzzy_control。
第二步:建立Simulink模型。
1、在matlab命令窗口中输入simulink,产生如下窗口。
2、新建模糊控制器模型,样式如下。
3、在matlab命令窗口下输入 fuzzy = readfis('fuzzy_control') ,将之前建立的模糊控制器加载到工作空间,并将Fuzzy Logic Contrtoller的参数设置为fuzzy。
4、保存该模型,命名为 fuzzy_model
第三步:系统测试界面的设置。
1、通过 Tools -> System Test -> Launch System Test 进入系统测试界面。
2、添加测试模型。
鼠标选中Main Test ,菜单栏 Insert -> Test Element -> Simulink ,选择第二步中建立的模型 fuzzy_model 。
3、变量定义。
在Test Vectors 项里定义两个测试向量,变量名分别为 input1、input2,input1 = [-6:1:6], input2 = [-6:1:6];在Test Variables 里定义测试变量,变量名为output。
4、变量映射。
把测试向量input1、input2分别映射到模糊控制器的输入口 in1、in2,做为输入测试信号。把测试变量 output 映射到模糊控制器输出口out1。设置后的界面如下:
输入测试向量到模糊模型输入口映射:
5、测试数据保存。
在测试界面点Save Results项,设置如下:
6、运行测试,注意在Main Test(169 Iterations)(169次迭代,运算代价),等待测试结束。
第四步:模糊控制查询表的生成
1、系统测试结果保存在 stresults.ResultsDataSet.output 中,为169*1 cell的单元数组。(注:单元cell为 [n*1 double] 结构,表示系统被测试了n次)。
2、在matlab命令窗口下输入 test_data = stresults.ResultsDataSet.output ,将测试结果另存在变量 test_data 中。
3、测试结果格式转换。
由于所建的二维查询表为13行13列,所需的数据应该为13*13 double数组,但因为test_data为 169*1 cell 的单元数组,无法直接作为表格数据输入,因此需先进行格式转换。
在matlab命令窗口下输入 table_data = Cell2Array( test_data , 1 , 13 , 13 ) ,调用Cell2Array函数,取每个单元数组中的第一行元素,即第一次测试数据,返回结果保存在 table_data 中。
源码如下:
4、新建二维查询表模型,样式如下:
5、点开二维查询表进行如下设置:
6、点 Edit 按钮,即可查看所生成的表格。
⑤ 怎样用matlab中画出模糊控制器2个输入,3个输出的隶属函数图
在模糊逻辑工具箱的File->Explot->Workspace
在命令窗口运行:
plotmf(a,'input',1)
plotmf(a,'input',2)
plotmf(a,'output',1)
plotmf(a,'output',2)
plotmf(a,'output',3)
其中a为你导出时在专workspace的变量名。属
⑥ MATLAB模糊工具箱的使用
隶属度函数里面有三角形,梯形,高斯型,等这些隶属度函数。设置的内时候只需要在参数哪儿,按照容他的格式,改变参数即可得到不同的隶属度函数。先输入fuzzy,然后点击edit下的rules,即可修改模糊控制规则。对于simulink仿真,首先你输入simulink,后建立仿真电路图,别忘记加信号源还有示波器。最后存到matlab软件包含的work文件夹下,你建立的模糊控制器也要放到work文件夹下,然后双击电路图中的模糊控制器,把它的名字修改为与你建立的模糊控制器一样的名字。模糊控制器名字比如c7fzpd.fis,那么你就要把电路图中的模糊控制器改成c7fzpd,然后保存,点击仿真即可。我的邮箱[email protected]
⑦ 如何使用matlab中的工具箱
1、首先给出对应的拟合数据:>> x=1:100;>> y=2*x;一条直线。
⑧ matlab 模糊控制工具箱 关闭后怎样修改
应该是:信号→模糊控制器→被控对象→输出 其中,模糊控制器可在MATLAB窗口回中输入答Fuzzy,然后设置输入输出各参数、隶属度函数、模糊控制规则得到。 完成模糊控制器的设置后,在Sinulink下构建一个Model,加入其他元素,进行仿真。
⑨ MATLAB模糊工具箱自带水位控制系统的simulink模型图吗怎么打开
是的,自带水箱simulink。在命令窗口输入 sltank 然后回车,就打开了,如下:
有啥不懂的再问