MATLAB: Can someone explain this error

antisfuzzy

Error using evalfismex Illegal parameters in fisTriangleMf() –> b > c
Error in evalfis (line 83) [output,IRR,ORR,ARR] = evalfismex(input, fis, numofpoints);

Best Answer

You have a triangle shaped FIS membership function, https://www.mathworks.com/help/fuzzy/trimf.html . Triangle membership functions are defined by three parameters:
  • "a" -- the x location at which the function stops being 0 and starts to rise
  • "b" -- the x location of the peak, where the membership reaches 1, and the point at which the function starts falling again
  • "c" -- the x location where the membership function stops falling and becomes 0 for the rest of x
In order for this to work properly, the location where the membership function stops falling and becomes 0 again, "c", must be after the location where the membership function reaches its peak, "b".
But in your FIS, you have a "c" value (marking end of the non-zero range) being less than the "b" value (marking the peak.) That is not valid.
Related Question