怎样利用模糊控制器得出模糊查询表?

作者&投稿:纪食 (若有异议请与网页底部的电邮联系)
用MATLAB编程,怎么编模糊控制查询表的程序啊~

我的建议是,matlab自带的模糊工具箱最好用了,既然你用matlab,那么为什么自己编写模糊程序啊,你说那么多分类什么麻烦死了,假如你会C语言还好点,如果只是编写一般的M文件,那么程序就不是一般的长了,建议你把模糊工具箱仔细看下,相信会有帮助!

第一步:利用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 按钮,即可查看所生成的表格。

这个简单,先在模糊工具箱中做好控制器 ,在编写程序即可!程序如下:
for i=-6:1:6
X=[i i i i i i i i i i i i i ]
Y=[-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6]
a=readfis('jqg');
evalfis([X;Y],a)
end


怎样利用模糊控制器得出模糊查询表?
这个简单,先在模糊工具箱中做好控制器 ,在编写程序即可!程序如下:for i=-6:1:6 X=[i i i i i i i i i i i i i ]Y=[-6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6]a=readfis('jqg');evalfis([X;Y],a)end

matlab中利用FIS完成模糊控制器的设计,想把控制器与SIMULINK模型连接,该...
1、在空座空间中输入 name1=readfis('name2') 其中,name1是你自己随便取的,name2是已经保存的fis文件名,不加.fis 2、在simulink中,右击Fuzzy logic controller→look under mask,在新窗口的fis wizard 双击,输入name1,即可。MATLAB(矩阵实验室)是MATrix LABoratory的缩写,是一款由美国The Mat...

什么是“模糊控制”?
模糊控制技术是利用模糊控制算法控制变频器的电压和频率的一种技术,通过模糊控制技术可使被控电动机的升速时间得到控制,以避免升速过快对电动机使用寿命的影响以及升速过慢而影响工作效率。

模糊控制规则的应用方法有哪些?
1.模糊控制器设计:在模糊控制器中,需要设计一个模糊控制器,该控制器包括输入和输出变量以及一组模糊规则。输入变量可以是机器人与障碍物的距离、机器人当前的角度等。输出变量通常是机器人的速度和转向角度。2.机器人导航:在机器人导航中,模糊控制可以用于控制机器人的运动路径。首先,需要设计一个模...

...如何用MATLAB模糊逻辑工具箱设计一个模糊控制器?
应该是:信号→模糊控制器→被控对象→输出 其中,模糊控制器可在MATLAB窗口中输入Fuzzy,然后设置输入输出各参数、隶属度函数、模糊控制规则得到。完成模糊控制器的设置后,在Sinulink下构建一个Model,加入其他元素,进行仿真。

模糊控制器的工作的原理是什么
模糊控制器的工作原理模糊控制器是一种基于模糊逻辑的控制系统,它可以根据输入信号的变化来调整输出信号的大小。它的工作原理是,首先,它会根据输入信号的变化来调整输出信号的大小,然后,它会根据输出信号的大小来调整输入信号的大小,以达到控制目标。模糊控制器的优点是它可以根据输入信号的变化来调整...

何为模糊控制,他的基本原理是什么?
模糊控制是利用模糊数学理论的一种智能控制方法,旨在解决传统控制理论难以应对的复杂系统控制问题。模糊控制的基本原理是将模糊逻辑应用于系统控制,通过模糊控制器实现对系统的控制。该控制器由模糊器、模糊推理机和解模糊器三个主要环节构成,分别负责将清晰输入转化为模糊量、通过模糊逻辑推理得到模糊输出、将...

怎么设置模糊控制器的阶跃信号
3.3 模糊控制规则的静态特性——干涉性 模糊控制规则的干涉性不太好理解,其大致意思是如果模糊规则相互干涉,那么模糊输出得到的控制量就不再等于你之前设定的那个东西了。干涉性来源于控制器的逻辑结构,如果用一个模糊关系的矩阵来表示模糊控制器,则不会存在这个干涉性问题。简单且直观地说,就是你在...

求助,在matlab中利用FIS完成模糊控制器的设计,想把控制器与SIMULINK模 ...
1确定你的FIS的解模糊方法是centriod,别的解模糊方法不能连接,原因我也不大了解。2在FIS图形界面按快捷键CRTL+T,将该FIS文件送入工作空间。还有种方法和楼上说的一样,直接在MATLAB中输入 name1=readfis('name2')其中,name1是你自己随便取的,name2是已经保存的fis文件名,不加.fis,不过有...

模糊控制的基本原理
它是从行为上模仿人的模糊推理和决策过程的一种智能控制方法。该方法首先将操作人员或专家经验编成模糊规则,然后将来自传感器的实时信号模糊化,将模糊化后的信号作为模糊规则的输入,完成模糊推理,将推理后得到的输出量加到执行器上。模糊控制器也称为模糊逻辑控制器,由于所采用的模糊控制规则是由模糊...

邵武市13212776278: 如何利用matlab将模糊逻辑转化为查询表 -
党平新洛: 第一步:利用matlab模糊控制工具箱设计模糊控制器.1、在matlab命令窗口中输入 fuzzy ,产生如下窗口.2、确定模糊控制器结构,即根据具体的系统确定输入、输出量.这里我们可以选取标准的二维控制结构,即输入为误差e和误...

邵武市13212776278: 请教matlab怎样建立模糊控制查询表 -
党平新洛: Matlab有自己的模糊工具箱 命令行下输入Fuzzy 而且可以在Simulink中使用.

邵武市13212776278: 在控制器里怎样添加模糊查询语句 -
党平新洛: sql="selectreplyfromdatawhereanswerlike'*s*'"

邵武市13212776278: 模糊控制查询表法在软件中怎么实现 -
党平新洛: 我的建议是,matlab自带的模糊工具箱最好用了,既然你用matlab,那么为什么自己编写模糊程序啊,你说那么多分类什么麻烦死了,假如你会C语言还好点,如果只是编写一般的M文件,那么程序就不是一般的长了,建议你把模糊工具箱仔细看下,相信会有...

邵武市13212776278: 如何使用filter进行模糊查询 -
党平新洛: 可以用like 加%或_ 如 dw_1.setfilter("col1 like '010%'") dw_1.filter

邵武市13212776278: Excel 中 单元格 模糊查询 公式如何实现? -
党平新洛: 选择B列,在“条件格式”中,以“公式”建立规则,输入 =ISNUMBER(FIND(C3,D$3)) 格式选择填充色红色.

邵武市13212776278: 如何用EXCEL VBA编写模糊查询程序,并将结果显示在工作表中 -
党平新洛: 不难实现,但代码就懒得写了. 步骤: 1、利用INPUTBOX()获得想查询的内容,并存放到局部变量INPUTDATA 中 2、用DIM MYRANGE AS RANGE 和以下语句组合进行查找 Set MyRange = Sheets("工作表名称").Cells.Find(what:=...

邵武市13212776278: Excel 怎么实现模糊查询 -
党平新洛: 查看附件吧.黄底纹单元格输入要查询的关键字 红底的单元格是公式区域.数组公式,注意公式输入后的结束方式,不能回车,需要ctrl+shift+回车.

邵武市13212776278: excel中如何实现模糊查询?需要在详细地址表中模糊查询简要地址,并返回简要地址. -
党平新洛: 亲,这个问题可以用公式解决,见下图.只是您的截图没有行标列号,所以公式中的引用位置只是范例,您需要根据实际情况调整,或者补充进一步信息后,追问我帮助调整.B2粘贴下面的公式,按“Ctrl+Shift+回车”结束输入,下拉.附件已上传供参考.=IF(SUM(1-ISERROR(FIND($D$1:$D$3,A2)))0,INDEX(D:D,MAX((1-ISERROR(FIND($D$1:$D$3,A2)))*ROW($D$1:$D$3))),"")

邵武市13212776278: mybatis 中模糊查询sql 怎么使用 -
党平新洛: select * from a inner join b on a.id = b.u_id where a.name like '%王%' andb.phone like '%138%';

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网