How to get inputs from outputs in fuzzy interface system?

조회 수: 2 (최근 30일)
amir
amir 2013년 5월 11일
답변: Sam Chak 2024년 9월 21일
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?

답변 (1개)

Sam Chak
Sam Chak 2024년 9월 21일
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')

카테고리

Help CenterFile Exchange에서 Fuzzy Logic in Simulink에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by