MATLAB Answers


Problem with Fuzzy controller blocks in simulink

I've already developed a control model by using fuzzy controller in simulink. there are some problems that seems like bugs. If you just agree with me please let me know how can I report this bugs to Mathworks respondents?

1. When I use a fuzzy controller block with rule viewer, the block output is zero all the time however rule viewer works properly and show true outputs. When I try to show block output signal by using the tool show value label of the port I see that the value is grounded all the time.

2. The aforementioned problem does not exist for the fuzzy controller block without rule viewer. But there is another problem. The fuzzy controller works properly since a point time and after that reports zero in the rest of the simulation. I'm sure that this problem does not come from my fuzzy structure file and rule base because I've checked it outside simulink in programming environment. it works properly.

Thanks in advance



I have to give the following more information:

I use MATLAB r2012b on a 64bit Windows 7 platform.

Log in to comment.

3 Answers

Answer by Pouya Jamali on 3 May 2013
 Accepted Answer

Dear Alex

I've already solved my problem but I still believe that It's a bug. I think its belong to the fuzzy variable ranges. In the programming environment or in the fuzzy rule viewer block in Simulink, while you are feeding an out of range value to the fuzzy block it uses the saturated value of input for calculations. But in the fuzzy block something else happens. the fuzzy block uses the out of range value for calculations so if your membership functions are zero all of the out of range region the output may always be zero referring to the rule base. In such a situation The rule viewer block reports different outputs because it saturates the inputs, I think.

Hope you find it useful




Log in to comment.

Answer by alexandre on 3 May 2013

Hallo dear Jamali / Ryan G,

First of all, sorry for my english, i hope you can read it and understand me well !

i have the same problem using fuzzy logic ! After giving all the rules and implement a fuzzy block in simulink, i have a permanent zero as output !

while looking in the fuzzy rules viewer, it seems all to be ok... but while implement it in Simulink..."don´t get enough zero" !!!

I look in the FIS WIZARD (Model Browser) and i have see that they are some ports who are not connected ( maybe the reason of this permanent zero )... i have made some screenshots and maybe i can mail them to you !

I suspect that this error is running under Matlab 2010a , while when i use Matlab 2012 i don´t have this problem ( but i have to test it one more time

I hope you can understand my sentences and maybe you have a solution of this bug


Log in to comment.

Answer by mojtaba najibifar on 12 Aug 2013

aghaye jamali mishe farsi begid ke chetori moshkeletoon hal shod?

  1 Comment

Dear Mojtaba

I'm afraid writing to you in Persian here as a formal forum; but I'm keen to be in your service through the following mail address if so!

Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today