问题遇到的现象和发生背景
我要学习模糊控制,所以仿照您《simulink实现模糊PID控制》这篇文章,按照您里边的流程我搭建了如下模型:
问题相关代码,请勿粘贴截图
我的模糊代码:
[System]
Name='fuzzu_PID'
Type='mamdani'
Version=2.0
NumInputs=2
NumOutputs=3
NumRules=49
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='E'
Range=[-3 3]
NumMFs=7
MF1='NB':'trimf',[-1.333 -1 -0.6666]
MF2='NM':'trimf',[-1 -0.6666 -0.3334]
MF3='NS':'trimf',[-0.6666 -0.3334 0]
MF4='ZO':'trimf',[-0.3334 0 0.3335]
MF5='PS':'trimf',[0 0.3335 0.6665]
MF6='PM':'trimf',[0.3335 0.6665 1]
MF7='PB':'trimf',[0.6665 1 1.333]
[Input2]
Name='EC'
Range=[-3 3]
NumMFs=7
MF1='NB':'trimf',[-8 -6 -4]
MF2='NM':'trimf',[-6 -4 -2]
MF3='NS':'trimf',[-4 -2 0]
MF4='ZO':'trimf',[-2 0 2]
MF5='PS':'trimf',[0 2 4]
MF6='PM':'trimf',[2 4 6]
MF7='PB':'trimf',[4 6 8.004]
[Output1]
Name='P'
Range=[-1 1]
NumMFs=7
MF1='NB':'trimf',[-0.02333 -0.02 -0.01667]
MF2='NM':'trimf',[-0.02 -0.01667 -0.01333]
MF3='NS':'trimf',[-0.01667 -0.01333 -0.01]
MF4='ZO':'trimf',[-0.01333 -0.01 -0.006666]
MF5='PS':'trimf',[-0.01 -0.006666 -0.003334]
MF6='PM':'trimf',[-0.006666 -0.003334 0]
MF7='PB':'trimf',[-0.003334 0 0.00334]
[Output2]
Name='I'
Range=[-1 1]
NumMFs=7
MF1='NB':'trimf',[-0.0001333 -0.0001 -6.667e-05]
MF2='NM':'trimf',[-0.000100529100529101 -6.71991005291005e-05 -3.38591005291005e-05]
MF3='NS':'trimf',[-6.667e-05 -3.333e-05 0]
MF4='ZO':'trimf',[-3.333e-05 -6.353e-22 3.333e-05]
MF5='PS':'trimf',[0 3.333e-05 6.667e-05]
MF6='PM':'trimf',[3.333e-05 6.667e-05 0.0001]
MF7='PB':'trimf',[6.667e-05 0.0001 0.0001333]
[Output3]
Name='D'
Range=[-1 1]
NumMFs=7
MF1='NB':'trimf',[-13.33 -10 -6.666]
MF2='NM':'trimf',[-10 -6.666 -3.334]
MF3='NS':'trimf',[-6.666 -3.334 0]
MF4='ZO':'trimf',[-3.334 0 3.334]
MF5='PS':'trimf',[0 3.334 6.666]
MF6='PM':'trimf',[3.334 6.666 10]
MF7='PB':'trimf',[6.666 10 13.34]
[Rules]
1 1, 7 1 5 (1) : 1
1 2, 7 1 3 (1) : 1
1 3, 6 2 1 (1) : 1
1 4, 6 2 1 (1) : 1
1 5, 5 3 1 (1) : 1
1 6, 4 4 2 (1) : 1
1 7, 4 4 5 (1) : 1
2 1, 7 1 5 (1) : 1
2 2, 7 1 3 (1) : 1
2 3, 6 2 1 (1) : 1
2 4, 5 3 2 (1) : 1
2 5, 5 3 2 (1) : 1
2 6, 4 4 3 (1) : 1
2 7, 3 4 4 (1) : 1
3 1, 6 1 4 (1) : 1
3 2, 6 2 3 (1) : 1
3 3, 6 3 2 (1) : 1
3 4, 5 3 2 (1) : 1
3 5, 4 4 3 (1) : 1
3 6, 3 5 3 (1) : 1
3 7, 3 5 4 (1) : 1
4 1, 6 2 4 (1) : 1
4 2, 6 2 3 (1) : 1
4 3, 5 3 3 (1) : 1
4 4, 4 4 3 (1) : 1
4 5, 3 5 3 (1) : 1
4 6, 2 6 3 (1) : 1
4 7, 2 6 4 (1) : 1
5 1, 5 2 4 (1) : 1
5 2, 5 3 4 (1) : 1
5 3, 4 4 4 (1) : 1
5 4, 3 5 4 (1) : 1
5 5, 3 5 4 (1) : 1
5 6, 2 6 4 (1) : 1
5 7, 2 7 4 (1) : 1
6 1, 5 4 7 (1) : 1
6 2, 4 4 3 (1) : 1
6 3, 3 5 5 (1) : 1
6 4, 2 5 5 (1) : 1
6 5, 2 6 5 (1) : 1
6 6, 2 7 5 (1) : 1
6 7, 1 7 7 (1) : 1
7 1, 4 4 7 (1) : 1
7 2, 4 4 6 (1) : 1
7 3, 2 5 6 (1) : 1
7 4, 2 6 6 (1) : 1
7 5, 2 6 5 (1) : 1
7 6, 1 7 5 (1) : 1
7 7, 1 7 7 (1) : 1
运行结果及报错内容
我的解答思路和尝试过的方法
根据错误提示,我的错误就是这个Fuzzy Logic Controller 没有输出信号,所以,bus selector 检测不到然后报错,我不知道为什么会这样?
我想要达到的结果
能够复现您文章里的曲线对比结果