Error while using fuzzy logic command-evalfis

On using the following command
FIS = readfis('fuzzy.fis');
FIS.input.range = pmax;
[Y,IRR,ORR,ARR]=evalfis(X,FIS);% X and Y are row matrices
The error looks like ??? Error using ==> evalfismex Calloc error in fisCreateMatrix!
Error in ==> evalfis at 84 [output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);
What may be the possible reason of this error and how can I remove it?

3 个评论

"Calloc error" in fuzzy logic appears when fuzzy rules are not set or any of fis structure field is empty. Check the fuzzy fis structure none of its field should be empty. example:
name: 'fuzzy_ex'
type: 'mamdani'
andMethod: 'min'
orMethod: 'max'
defuzzMethod: 'centroid'
impMethod: 'min'
aggMethod: 'max'
input: [1x3 struct]
output: [1x1 struct]
rule: [1x27 struct]
I would like to evalute not only a variable but a fuzzy set ("observation") it is possible ?
one possibility of this error is that..... after defining rules matrix you have not added rules to the FIS.... which is done using
a=addrule(a,ruleList);
where a is any FIS ruleList is rule matrix

请先登录,再进行评论。

回答(1 个)

"Calloc error" appears only, if the memory is exhausted. Check this by:
feature memstats

类别

帮助中心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!

Translated by