Processing a list of inputs into a fuzzy logic system

17 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)

Community Treasure Hunt

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

Start Hunting!