parent
ea265f00e8
commit
d140129b65
@ -0,0 +1,47 @@ |
|||||||
|
[System] |
||||||
|
Name='car_brake' |
||||||
|
Type='mamdani' |
||||||
|
Version=2.0 |
||||||
|
NumInputs=2 |
||||||
|
NumOutputs=1 |
||||||
|
NumRules=6 |
||||||
|
AndMethod='min' |
||||||
|
OrMethod='max' |
||||||
|
ImpMethod='min' |
||||||
|
AggMethod='max' |
||||||
|
DefuzzMethod='centroid' |
||||||
|
|
||||||
|
[Input1] |
||||||
|
Name='brakeTemp' |
||||||
|
Range=[-20 180] |
||||||
|
NumMFs=3 |
||||||
|
MF1='cool':'pimf',[-110 -30 -10 40] |
||||||
|
MF2='warm':'pimf',[-10 40 80 170] |
||||||
|
MF3='hot':'pimf',[80 170 190 270] |
||||||
|
|
||||||
|
[Input2] |
||||||
|
Name='carSpeed' |
||||||
|
Range=[0 180] |
||||||
|
NumMFs=4 |
||||||
|
MF1='slow':'trapmf',[-54 -6 5 30] |
||||||
|
MF2='optimal':'trapmf',[5 30 50 80] |
||||||
|
MF3='fast':'trapmf',[50 80 100 130.446428571429] |
||||||
|
MF4='veryFast':'trapmf',[100 130.267857142857 186 234] |
||||||
|
|
||||||
|
[Output1] |
||||||
|
Name='brakePressure' |
||||||
|
Range=[-20 20] |
||||||
|
NumMFs=5 |
||||||
|
MF1='greatlyDecreased':'trimf',[-30 -20 -5] |
||||||
|
MF2='slightlyDecreased':'trimf',[-20 -5 0] |
||||||
|
MF3='normal':'trimf',[-5 0 5] |
||||||
|
MF4='slightlyIncreased':'trimf',[0 5 20] |
||||||
|
MF5='greatlyIncreased':'trimf',[5 20 30] |
||||||
|
|
||||||
|
[Rules] |
||||||
|
0 4, 5 (1) : 2 |
||||||
|
1 3, 4 (0.75) : 2 |
||||||
|
2 -4, 2 (0.5) : 1 |
||||||
|
3 -4, 1 (0.5) : 1 |
||||||
|
-3 1, 4 (0.25) : 1 |
||||||
|
0 2, 3 (0.1) : 1 |
@ -0,0 +1,8 @@ |
|||||||
|
disp('Welcome to car brake pressure fuzzy control.'); |
||||||
|
disp(' '); |
||||||
|
temp = input('Please insert brake temperature in °C: '); |
||||||
|
speed = input('Please insert car speed in km/h: '); |
||||||
|
fis_brake = readfis('car_brake.fis'); |
||||||
|
press = evalfis([temp speed], fis_brake); |
||||||
|
out = sprintf('The brake pressure shoud be adjusted by %2.2f bar.', press); |
||||||
|
disp(out); |
Loading…
Reference in new issue