matlab 模糊规则表导出 绘制成表格
时间: 2023-12-11 16:00:19 浏览: 215
在Matlab中,可以通过将模糊规则表导出和绘制成表格的方法来观察和分析模糊控制系统的规则。下面是一个简单的实例来说明如何完成这个任务。
第一步是创建一个模糊控制系统对象,并设置其输入和输出变量。例如,我们可以创建一个有两个输入变量和一个输出变量的模糊控制器:
```matlab
fis = newfis('fis');
fis = addvar(fis, 'input', 'input1', [0 10]);
fis = addvar(fis, 'input', 'input2', [0 5]);
fis = addvar(fis, 'output', 'output', [0 15]);
```
第二步是定义模糊集合和其隶属函数,以及创建模糊规则。例如,我们可以定义三个模糊集合(低、中、高)和三个隶属函数(三角形、高斯、高斯):
```matlab
fis = addmf(fis, 'input', 'input1', 'low', 'trimf', [1 3 5]);
fis = addmf(fis, 'input', 'input1', 'medium', 'gaussmf', [1 5]);
fis = addmf(fis, 'input', 'input1', 'high', 'gaussmf', [1 7]);
fis = addmf(fis, 'input', 'input2', 'low', 'trimf', [1 2 3]);
fis = addmf(fis, 'input', 'input2', 'medium', 'gaussmf', [1 2]);
fis = addmf(fis, 'input', 'input2', 'high', 'gaussmf', [1 4]);
fis = addmf(fis, 'output', 'output', 'low', 'trimf', [1 5 10]);
fis = addmf(fis, 'output', 'output', 'medium', 'gaussmf', [1 7]);
fis = addmf(fis, 'output', 'output', 'high', 'gaussmf', [1 12]);
```
第三步是定义模糊规则。例如,我们可以定义9个模糊规则:
```matlab
ruleList = [1 1 1 1 1;
1 1 2 1 1;
1 1 3 1 1;
2 1 1 1 1;
2 1 2 1 1;
2 1 3 1 1;
3 1 1 1 1;
3 1 2 1 1;
3 1 3 1 1];
fis = addrule(fis, ruleList);
```
最后一步是将模糊规则表导出并绘制成表格:
```matlab
ruleTable = showrule(fis);
disp(ruleTable);
```
运行上述代码后,将得到一个包含模糊规则的表格输出。该表格中的每一行表示一个模糊规则,每一列表示原始输入、处理后的输入和输出。
阅读全文