Warning: No rules fired for Output 1. Defuzzified output value set to its mean range value 50.

조회 수: 47 (최근 30일)
This is related to one of my papers. I am facing this issue when I changed the input method for 3 inputs from Text area (Numeric) to List box.
To resolve this on my own I tried putting str2num and str2double just to change list box options to its equivalent membership funtion value.
Can someone share their views over this? It can be with any article available online, personal views or possible solution? I think either I am using evalfis, str2double or str2num in a wrong manner or it could be whole system.
Take a look at lookalike code: Obviously, it is not the correct one.
app.MixFruits = readfis('fruits');
app.apple = evalfis( [app.Banana.Value str2double(app.Orange.Value) str2double(app.Melon.Value) str2double(app.Kiwi.Value) app.Grape.Value app.Blueberry.Value app.Mango.Value], app.MixFruits);
app.Bowl.Value = app.apple;
  댓글 수: 3
D Shinde
D Shinde 2019년 10월 18일
Hey, Walter. Sorry for the late response. I solved the problem somehow (I think, I did), but there's still the warning message about 'defuzzified value set to its mean range value'. I guess that's fine as far as it is not affecting my final output values. Also, I realised in some rules I have selected 'none' in the outputs' membership function value because in my case here, there are four outputs. Thank you so much and sorry once again.
Still, I would like add one more query related to max and min function usage in AppDesigner; I could not figure out how it works.
Output matrix has 4 columns and 1 row. how can I call [M,I] = max(A) for AppDesigner?
Walter Roberson
Walter Roberson 2019년 10월 18일
max for app designer is just regular max. You just need to extract the information from the appropriate property and max on that.

댓글을 달려면 로그인하십시오.

답변 (3개)

HELA LASS
HELA LASS 2019년 10월 10일
I've the same problem.
% x is the inputs values and y is the output (target) values
for i = 1:6
fisin = addInput(fisin,dataRange(i,:),'Name',name(i),'NumMFs',3);
end
fisin = addOutput(fisin,dataRange(7,:),'Name',name(7),'NumMFs',5);
fisin=addRule(fisin,[2 2 2 2 2 2 1 1 1;1 1 0 3 0 0 5 1 1;2 0 3 3 3 0 2 1 1;1 3 1 3 0 3 4 1 1; 1 1 2 3 0 0 3 1 1]);
opt = anfisOptions('InitialFIS',fisin);
outFIS = anfis([x y],opt);
plot(x,y,'*b',x,evalfis(outFIS,x),'.r')
I get an error
Warning: No rules fired for Output 1. Defuzzified output value set to its mean range value 3.
> In throwWarning (line 17)
In fuzzy.internal.utility.evalfis (line 80)
In evalfis (line 83)
Can someone help me to solve this problem?

HELA LASS
HELA LASS 2019년 10월 10일
I get the solution
I changed
fisin = addOutput(fisin,dataRange(7,:),'Name',name(7),'NumMFs',5);
into
fisin = addOutput(fisin,'NumMFs',5,'MFType',"constant");

mekia
mekia 2020년 2월 26일
am also get the same error message that follows in below reapetedly when am runnung the code.please can you tell how it fix.
Warning: No rules fired for Output 1. Defuzzified output value set to its mean range value 0.5.
> In throwWarning (line 18)
In fuzzy.internal.utility.evalfis (line 80)
In evalfis (line 57)
In TrainFISCost (line 30)
In TrainAnfisUsingGA>@(x)TrainFISCost(x,fis,data) (line 20)
In TrainAnfisUsingGA>RunGA (line 134)
In TrainAnfisUsingGA (line 32)
In main (line 41)

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by