ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

MATRIXx

cancel
Showing results for 
Search instead for 
Did you mean: 

fuzzy logic block debugging

I have a populated a fuzzy logic block instance in MatrixX with application data that seems consistent with the example code contained in the user's guide (e.g., membership classes, rules, etc.).  However, when I sweep the inputs through their ranges the fuzzy output never changes.  Any suggestions on how to find the problem?
0 Kudos
Message 1 of 4
(8,555 Views)

Hello,

 

One thing to check is the members.  Do a uifuzzy {blockid=blockid} and see if you have your members assigned correctly. Are you using qualifiers?

Do you have a rule for all the possible inputs?

 

I would first run the code that comes by default with the block.  Check the members and then start playing with the input.  

 

For example, you can create a time vector of t=[0:0.01:10]; and then the input to be in=random(t);

 

Try that and check what you get when you change the value of in.

Hope this helps.

Ricardo,

National Instruments

0 Kudos
Message 2 of 4
(8,538 Views)

Thanks for the advice. 

I incrementally changed one thing in the generic model at a time, and the problem appears to be that I assigned an output range outside of 0 to 1.  As soon as I normalized all of the output values, the output started changing.

I tried to invoke the uifuzzy tool, but it crashes with an index out of range error in the Xmath window any time I invoke it.  Do you want me to report this somewhere?

0 Kudos
Message 3 of 4
(8,523 Views)

Hello,

If you could upload your fuzzy block here and I will check it. What version of MATRIXx do you have?

Ricardo

National Instruments

0 Kudos
Message 4 of 4
(8,509 Views)