Processing a list of inputs into a fuzzy logic system

5 views (last 30 days)
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

Accepted Answer

Arkadiy Turevskiy
Arkadiy Turevskiy on 2 Jul 2012
Edited: Arkadiy Turevskiy on 2 Jul 2012
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

More Answers (0)

Categories

Find more on Fuzzy Logic in Simulink in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!