3.设有模糊控制规则: "如果温度低,则将风门开大”。设温度和风门]开度的论域为{1,2,3,4,5}。“温度低”和"风门大"的模糊量:“温度低” =1/1 +0.6/2+0.3/3+0.0/4+0/5"风门大” =0/1 +0.0/2+0.3/3+0.6/4+1/5已知事实“温度较低”,可以表示为'温度较低” =0.8/1 + 1/2+0.6/3+0.3/4+0/5试用模糊推理结合最大隶属度法和中位数法确定风]开度。
时间: 2023-11-30 15:04:48 浏览: 400
根据最大隶属度法,我们需要计算出所有可能的输出的隶属度值,然后选择隶属度最大的那个输出作为最终的输出。
对于本题来说,根据规则“如果温度低,则将风门开大”,我们可以得到一个输出的隶属度值,即“风门大”的隶属度值为“温度低”的隶属度值,即0.8/1 + 1/2+0.6/3+0.3/4+0/5。
因此,我们可以计算出所有可能的输出的隶属度值如下:
- 风门小:0/1 + 0/2 + 0/3 + 0.3/4 + 1/5 = 0.3
- 风门中:0/1 + 0/2 + 0.3/3 + 0.6/4 + 0/5 = 0.6
- 风门大:0.8/1 + 1/2 + 0.6/3 + 0.3/4 + 0/5 = 1.7
因此,根据最大隶属度法,我们选择隶属度值最大的“风门大”作为最终的输出。
接下来,我们可以使用中位数法来确定最终的输出值。根据“风门大”的隶属度值,我们可以得到一个三角形隶属度函数,其峰值位于3.5。
因此,我们可以使用中位数法来计算最终的输出值。根据“风门大”的隶属度函数,我们可以得到其左侧和右侧的中点,分别为3和4。因此,我们可以计算出最终的输出值为:
(3 + 4) / 2 = 3.5
因此,根据模糊推理结合最大隶属度法和中位数法,我们可以确定风门的开度为3.5。
相关问题
2.设论域U = V = W = {1,2,3,4},且设有如下规则: R1: IF x is F THEN y is G R2: IF y is G THEN z is H R3: IF x is F THEN z is H 其中,F、G、H的模糊集分别为: F=1/1+0.8/2+0.5/3+0.4/4 G=0.1/2+0.2/3+0.4/4 H=0.2/2+0.5/3+0.8/4 根据模糊假言三段论 编程计算F×G及G×H的Rm模糊关系矩阵,由模糊集F和G求出r1所表示的模糊关系R1m,再由模糊集G和H求出r2所表示的模糊关系R2m,求F×G×H上的关系R1m○R2m,并与模糊集F和H求出r3表示的模糊关系R3m进行对比;
根据模糊集的定义,可以得到F×G和G×H的Rm模糊关系矩阵如下:
F×G的Rm模糊关系矩阵:
1 2 3 4
1 1.00 0.80 0.50 0.40
2 0.80 0.64 0.40 0.32
3 0.50 0.40 0.25 0.20
4 0.40 0.32 0.20 0.16
G×H的Rm模糊关系矩阵:
2 3 4
2 0.01 0.10 0.16
3 0.10 0.25 0.40
4 0.16 0.40 0.64
由模糊集F和G求出r1所表示的模糊关系R1m,可以得到R1m的矩阵如下:
2 3 4
1 0.10 0.20 0.32
2 0.08 0.16 0.26
3 0.05 0.10 0.16
4 0.04 0.08 0.13
由模糊集G和H求出r2所表示的模糊关系R2m,可以得到R2m的矩阵如下:
2 3 4
2 0.01 0.10 0.16
3 0.10 0.25 0.40
4 0.16 0.40 0.64
F×G×H上的关系R1m○R2m的矩阵可以通过矩阵乘法计算得到:
2 3 4
1 0.08 0.20 0.34
2 0.06 0.16 0.29
3 0.04 0.10 0.18
4 0.03 0.08 0.15
与模糊集F和H求出r3表示的模糊关系R3m进行对比,可以得到R3m的矩阵如下:
2 3 4
1 0.08 0.20 0.32
2 0.10 0.25 0.40
3 0.05 0.13 0.20
4 0.06 0.16 0.26
可以看出,R1m○R2m与R3m的结果略有不同,但整体趋势相似。
变论域模糊控制 matlab
变论域模糊控制(Variable Universe Fuzzy Control)是一种基于模糊逻辑的控制方法,它能够在不确定性和复杂性很高的系统中实现自适应控制。Matlab是一款常用的数学软件,也可以用于实现模糊控制的算法。
下面是一个简单的变论域模糊控制matlab示例:
1. 首先定义一个模糊逻辑控制器(FLC)对象:
```
flc = mamfis('Name','Fuzzy Logic Controller');
```
2. 设置模糊逻辑控制器的输入和输出变量:
```
flc = addInput(flc,[0 10],'Name','input1');
flc = addOutput(flc,[0 10],'Name','output1');
```
3. 添加模糊规则:
```
ruleList = [1 1 1 1;
2 1 2 1;
3 1 3 1;
4 1 4 1;
5 1 5 1;
6 1 6 1;
7 1 7 1;
8 1 8 1;
9 1 9 1;
10 1 10 1];
flc = addRule(flc,ruleList);
```
4. 输入变量值并进行模糊推理:
```
inputValue = 5.5;
outputValue = evalfis(inputValue,flc);
```
5. 输出模糊推理结果:
```
disp(['The output value is ',num2str(outputValue)]);
```
以上就是一个简单的变论域模糊控制matlab示例,你可以根据自己的需求进行修改和扩展。
阅读全文