How to get inputs from outputs in fuzzy interface system?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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?
0 commentaires
Réponses (1)
Sam Chak
le 21 Sep 2024
Hi @amir
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])
out2= evalfis(fis, [25.0 40.0])
out3= evalfis(fis, [30.0 35.0])
out4= evalfis(fis, [32.5 32.5])
out5= evalfis(fis, [35.0 30.0])
out6= evalfis(fis, [40.0 25.0])
out7= evalfis(fis, [45.0 20.0])
gensurf(fis)
xlabel('x1'), ylabel('x2'), zlabel('y')
0 commentaires
Voir également
Catégories
En savoir plus sur Fuzzy Logic in Simulink dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!