Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Processing a list of inputs into a fuzzy logic system

Asked by John on 2 Jul 2012

Hello,

I have set up a Fuzzy logic system which takes 2 inputs and produces one output. To evaluate one set of inputs (1,2) you would use the code

Model = readfis  ('tipper');
evalfis([1 2], Model)  

My question is, say for example I had a .mat file with 100 pairs of inputs called input.mat. Would I use a function to pass all these inputs into the fuzzy model and produce an output file with the output? Would anybody be able to help with the function (point 3):

Would it be something like this:

1. I would load the fuzzy logic model

Model = readfis  ('tipper');

2. Load the inputs - input.mat

3. Pass it into a function

function [input]
evalfis('input', Model);

Thank you

John

0 Comments

John

Products

No products are associated with this question.

1 Answer

Answer by Arkadiy Turevskiy on 2 Jul 2012
Edited by Arkadiy Turevskiy on 2 Jul 2012
Accepted answer

Have you seen the doc page for evalfis, specifically this part:

evalfis has the following arguments:

  • Input: a number or a matrix specifying input values. If input is an M-by-N matrix, where N is number of input variables, then evalfis takes each row of input as an input vector and returns the M-by-L matrix to the variable, output, where each row is an output vector and L is the number of output variables.

As the doc says make your input argument a matrix of 100X2, and everything works.

For example:

Model = readfis  ('tipper');
U=ones(100,2);
U(:,2)=10*rand(size(U(:,2)));
Y=evalfis(U, Model);

HTH.

Arkadiy

0 Comments

Arkadiy Turevskiy

Contact us