用VB 写FTAB模糊控制器
时间: 2024-05-07 19:18:28 浏览: 13
以下是一个简单的VB代码示例,用于实现FTAB模糊控制器:
```
Private Sub FTAB_Fuzzy_Controller()
'定义输入变量
Dim input1 As Double
Dim input2 As Double
'定义输出变量
Dim output As Double
'定义模糊集合
Dim input1_set As New FuzzySet
Dim input2_set As New FuzzySet
Dim output_set As New FuzzySet
'定义规则库
Dim rules As New FuzzyRules
'定义模糊控制器
Dim controller As New FuzzyController
'初始化模糊集合
input1_set.Add("Low", 0, 0, 0.2, 0.4)
input1_set.Add("Medium", 0.3, 0.5, 0.7, 0.9)
input1_set.Add("High", 0.6, 0.8, 1, 1)
input2_set.Add("Low", 0, 0, 0.2, 0.4)
input2_set.Add("Medium", 0.3, 0.5, 0.7, 0.9)
input2_set.Add("High", 0.6, 0.8, 1, 1)
output_set.Add("Low", 0, 0, 0.2, 0.4)
output_set.Add("Medium", 0.3, 0.5, 0.7, 0.9)
output_set.Add("High", 0.6, 0.8, 1, 1)
'初始化规则库
rules.AddRule(input1_set("Low") And input2_set("Low"), output_set("Low"))
rules.AddRule(input1_set("Low") And input2_set("Medium"), output_set("Low"))
rules.AddRule(input1_set("Low") And input2_set("High"), output_set("Low"))
rules.AddRule(input1_set("Medium") And input2_set("Low"), output_set("Low"))
rules.AddRule(input1_set("Medium") And input2_set("Medium"), output_set("Medium"))
rules.AddRule(input1_set("Medium") And input2_set("High"), output_set("High"))
rules.AddRule(input1_set("High") And input2_set("Low"), output_set("Low"))
rules.AddRule(input1_set("High") And input2_set("Medium"), output_set("High"))
rules.AddRule(input1_set("High") And input2_set("High"), output_set("High"))
'初始化模糊控制器
controller.Inputs.Add("Input1", input1_set, 0, 1)
controller.Inputs.Add("Input2", input2_set, 0, 1)
controller.Outputs.Add("Output", output_set, 0, 1)
controller.Rules = rules
'输入模糊变量值
input1 = 0.5
input2 = 0.7
'进行模糊推理
output = controller.Infer("Output", input1, input2)
'输出控制结果
MsgBox "Output: " & output
End Sub
```
注意,这只是一个简单的示例代码,实际上需要根据具体的控制问题进行调整和修改。同时,需要引入FuzzySet、FuzzyRules和FuzzyController等相关类库。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![dmg](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)