How to get inputs from outputs in fuzzy interface system?
2 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Sam Chak
2024-9-21
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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Fuzzy Logic in Simulink 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!