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

100 visualizaciones (últimos 30 días)
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 comentarios
D Shinde
D Shinde el 18 de Oct. de 2019
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 el 18 de Oct. de 2019
max for app designer is just regular max. You just need to extract the information from the appropriate property and max on that.

Iniciar sesión para comentar.

Respuestas (3)

HELA LASS
HELA LASS el 10 de Oct. de 2019
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 el 10 de Oct. de 2019
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 el 26 de Feb. de 2020
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)

Categorías

Más información sobre Argument Definitions en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by