How to get inputs from outputs in fuzzy interface system?

2 visualizzazioni (ultimi 30 giorni)
amir
amir il 11 Mag 2013
Risposto: Sam Chak il 21 Set 2024
is it possible in FIS to get inputs from ouyputs? for example my inputs are a=100,b=60,c=80 and output is 55.can i get inputs for output value=65?

Risposte (1)

Sam Chak
Sam Chak il 21 Set 2024
There is no built-in function in the Fuzzy Logic Toolbox to accomplish this. Moreover, if the fuzzy inference system (FIS) can indeed produce a specified output, there may be unlimited combinations of inputs in the output manifold that yield exactly that output.
The task is somewhat analogous to solving a system of nonlinear equations; however, the FIS represents only a single nonlinear manifold equation. Therefore, the problem constitutes an underdetermined system.
x1 = (20:0.01:50)';
x2 = x1;
y = x1 + x2;
data= [x1, x2, y];
opt = anfisOptions("DisplayANFISInformation", 0, "DisplayErrorValues", 0, "DisplayStepSize", 0, "DisplayFinalResults", 0);
fis = anfis(data, opt);
out1= evalfis(fis, [20.0 45.0])
out1 = 65.0000
out2= evalfis(fis, [25.0 40.0])
out2 = 65.0000
out3= evalfis(fis, [30.0 35.0])
out3 = 65.0000
out4= evalfis(fis, [32.5 32.5])
out4 = 65.0000
out5= evalfis(fis, [35.0 30.0])
out5 = 65.0000
out6= evalfis(fis, [40.0 25.0])
out6 = 65.0000
out7= evalfis(fis, [45.0 20.0])
out7 = 65.0000
gensurf(fis)
xlabel('x1'), ylabel('x2'), zlabel('y')

Categorie

Scopri di più su Fuzzy Logic in Simulink in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by