1.打开模糊控制工具箱,编辑输入输出变量的隶属度函数和模糊控制规则,如下图所示,导出为fuzzy_control.fis文件。

2.打开Simulink模块,建立下图所示的系统框图,两输入,一输出,处理模块是Fuzzy Logic Controller with Ruleviewer(或者Fuzzy Logic Controller)。

3.在MATLAB窗口命令下输入fuzzy=readfis(‘fuzzy_control’)将之前建立的模糊控制器加载到工作空间,将Simulink中模糊控制模块的参数设置为fuzzy,保存该模型,生成Fuzzy_model.mdl。

4.Start->MATLAB->More->SystemTest,打开测试界面,选中Main Test ,菜单栏 Insert -> Test Element -> Simulink ,选择第二步中建立的模型 fuzzy_model 。

5.变量定义。在Test Vectors 项里定义两个测试向量,变量名分别为 input1和input2,编辑两个变量的取值范围;在Test Variables 里定义测试变量,变量名为output。

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

6.Save Results,如下图所示。

7.保存,进行测试。

8.结果格式转换

  • 系统测试结果保存在 stresults.ResultsDataSet.output 中,为169*1 cell的单元数组(若输出两个变量都有为13个值的序列)。(注:单元cell为 [n*1 double] 结构,表示系统被测试了n次。)
  • 在matlab命令窗口下输入 test_data = stresults.ResultsDataSet.output ,将测试结果另存在变量 test_data 中。
%导入模糊控制器
%fuzzy=readfis('Fuzzy_20150323.fis');
%Run Test %把下面的代码复制到Command Window运行
test_data=stresults.ResultsDataSet.Output;
a=zeros(,);
for i=:
b=test_data{i};
a(i)=b();
end
c=reshape(a,,);
table_data=c'; %保存到txt文件
%d=table_data.*;
%dlmwrite('fuzzy.txt',d,'precision','%.0f','newline','pc')

参考资料:

  1. 如何利用matlab将模糊逻辑转化为查询表
  2. Matlab模糊工具箱的使用
  3. 简单matlab/simulink模糊控制器应用实例-图
  4. 如何在MATLAB下把模糊推理系统转化为查询表(原创)
  5. 模糊PID Matlab (Simulink)仿真详细步骤
  6. matlab下模糊控制器安装方法

使用MATLAB生成模糊控制的离线查询表的更多相关文章

  1. 用MATLAB生成模糊控制离线查询表

    实时采样得到的数据经过模糊化处理后输入机器,通过查询模糊规则表便可得到应有的输出模糊量,从而避免了近似推理过程.实际应用中,特别是在控制系统较为简单而采用单片机控制时,常常采用这种查表法. 模糊控制表 ...

  2. 如何将Matlab中“模糊控制设计器”的隶属度函数导出图片(figure)

    如何将Matlab中"模糊控制设计器"的隶属度函数导出图片(figure)详情参考matlab官方帮助手册:plotmf()函数https://www.mathworks.com/ ...

  3. [转载]Matlab生成Word报告

    最近在进行一批来料的检验测试,一个个手动填写报告存图片太慢了,就有了种想要使用Matlab在分析完后数据可以自动生成PDF报告的想法,于是就去网上搜索了相关的资料,发现Matlab中文论坛上有xiez ...

  4. Matlab生成M序列的伪随机码

    伪随机编码中较常用的是m序列,它是线性反馈移位寄存器序列的一种,其特点是在相同寄存器级数的情况下输出序列周期最长.线性反馈移位寄存器的工作原理是,给定所有寄存器一个初始值,当移位脉冲到来时,将最后一级 ...

  5. asp.net下调用Matlab生成动态链接库

    对于这次论文项目,最后在写一篇关于工程的博客,那就是在asp.net下调用matlab生成的dll动态链接库.至今关于matlab,c/c++(opencv),c#(asp.net)我总共写了4篇配置 ...

  6. c++调用matlab生成的Dll动态连接库

    点击打开链接http://download.csdn.net/detail/nuptboyzhb/4228429 c++调用matlab生成的Dll动态连接库 实验平台:   matlab 7.0(R ...

  7. 利用Matlab生成一个网格化的三维球面(生成直角坐标)

    利用Matlab生成一个网格化的三维球面,分别对径向方向.经度方向和纬度方向进行网格化,代码如下: %生成一个笛卡尔坐标系下球面网格的x,y,z坐标 %r为球面距离 %nJingdu,nWeidu分别 ...

  8. 【转】利用matlab生成随机数函数

    原文地址:利用matlab生成随机数函数 rand(n):生成0到1之间的n阶随机数方阵  rand(m,n):生成0到1之间的m×n的随机数矩阵 (现成的函数) betarnd:贝塔分布的随机数生成 ...

  9. 使用matlab生成sine波mif文件

    使用matlab生成sine波mif文件 作者:lee神 在使用altera 的FPGA中的rom过程中常常会使用到.mif文件或.hex文件.对于初学者,无论mif还是hex都是很令人疑惑的东西,这 ...

随机推荐

  1. WP之Sql Server CE数据库

    如何在WP8中进行数据存储,你首先想到应该是独立存储,但是独立存储似乎存储文件更方便,如果我们希望像处理对象的形式,该怎么办呢,答案就是Sql Server CE. Sql Server CE并不是新 ...

  2. cmd命令行指定系统延迟关机时间

    shutdown -s -t 3600 -c "想要显示的注释" -f 各参数的意思:-s 动作为关机 -t 3600 延迟3600秒关机 -c "想要显示的注释&quo ...

  3. PCL—综述—三维图像处理

    点云模型与三维信息 三维图像是一种特殊的信息表达形式,其特征是表达的空间中三个维度的数据.和二维图像相比,三维图像借助第三个维度的信息,可以实现天然的物体-背景解耦.除此之外,对于视觉测量来说,物体的 ...

  4. 经典K线组合图解 > 正文

    日K线波段中上下影线的箱体操作法(完整) http://video.sina.com.cn/v/b/130809461-2486130757.html!!经典K线组合图解 > 正文 http:/ ...

  5. Pig简单入门

    pig是hadoop客户端,使用类似于SQL的面向数据流的语言pig latin,这个语言可以完成排序,过滤,求和,关联等操作,可以支持自定义函数.Pig自动把pig latin 映射为Map-Red ...

  6. 面试题_93_to_102_编程和代码相关的面试题

    93)怎么检查一个字符串只包含数字?(解决方案) 94)Java 中如何利用泛型写一个 LRU 缓存?(答案<) 95)写一段 Java 程序将 byte 转换为 long?(答案) 95)在不 ...

  7. voliecty indexOf的写法

    Velocity allows you to use all Java methods available in your objects. So just write as if it was Ja ...

  8. Discuz 7.2 /faq.php SQL注入漏洞

    测试方法: 提供程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!   Discuz 7.2 /faq.php SQL注入漏洞   http://www.xxx.com/faq.php?a ...

  9. OpenSSL再爆多处高危漏洞

    OpenSSL团队于北京时间6月5号晚8点左右发布了5个安全补丁,这次的更新涉及多处高危漏洞,连接:http://www.openssl.org/news/ 受影响的版本包括: OpenSSL 1.0 ...

  10. css动画集合地址

    CSS3 UI Lib库是由腾讯AlloyTeam前端开发团队建立,主要收集国内外友好体验和创意的界面组件Demo. 它除了使用CSS3技术外,还使用了HTML5,JS,JX,jQuery等技术,来达 ...