fis = mamfis('Name', "Test_FIS");
fis.DefuzzificationMethod = "mom";
fis
fis =
mamfis with properties:
Name: "Test_FIS"
AndMethod: "min"
OrMethod: "max"
ImplicationMethod: "min"
AggregationMethod: "max"
DefuzzificationMethod: "mom"
DisableStructuralChecks: 0
Inputs: [0×0 fisvar]
Outputs: [0×0 fisvar]
Rules: [0×0 fisrule]
See 'getTunableSettings' method for parameter optimization.
fis = addInput(fis, [0 1], 'Name', 'FuzIn');
fis = addMF(fis, 'FuzIn', 'linsmf', [0 1], 'Name', 'mfA');
fis = addOutput(fis, [-1 1], 'Name', 'FuzOut');
fis = addMF(fis, 'FuzOut', 'linsmf', [-1 1], 'Name', 'mfB');
plotmf(fis, 'input', 1), grid on, title('Input')
plotmf(fis, 'output', 1), grid on, title('Output')
"FuzIn==mfA => FuzOut=mfB"; ...
fis = addRule(fis, rules);
ruleview(fis)
Warning: ruleview will be removed in a future release. Use the Fuzzy Logic Designer app instead.
opt = gensurfOptions('NumGridPoints', 41);
[x, y, z] = gensurf(fis, opt);
plot(x, z, 'linewidth', 1.5), grid on
xlabel('FuzIn'), ylabel('FuzOut'), title('Crisp Output')