How I can evaluate 5 input matrices (208*216 numeric matrix table) evalfis(fis,inputs)

1 view (last 30 days)
It gives error
Input data must have as many columns as input variables and as many rows as independent sets of input values.
>> a = readfis('Suitability');
inputs=([slope_matris jeo_matris pop_matris land_matris stream_matris]);
>> evalfis(a,[slope_matris jeo_matris pop_matris land_matris stream_matris]);

Answers (1)

Gowtham
Gowtham on 13 Oct 2023
Hello Berna,
I understand you encountered an error while using the 'evalfis' function on five input matrices of size 208 x 216 each. The error is related to the number of rows and columns in the input data.
To resolve this issue, we need to specify the input combinations for evaluation using an array that has one row per input combination.
I suggest concatenating the matrices using a semicolon (;) to ensure the dimension matches the expected format. This will allow the 'evalfis' function to process the input matrices correctly.
For a sample demonstration of the above process, kindly refer to the following code snippet:
fis = readfis('tipper');
% 'tipper' expects each input with dimension (1, 2)
% sample with 3 input matrices
res = evalfis(fis, [1 2; 3 4; 5 6])
res = 3×1
5.5586 12.2184 15.0000
Kindly refer to the following MATLAB documentation for further information on how to use ‘evalfis’ and to concatenate matrices.
Hope this helps.
Best Regards,
Gowtham

Categories

Find more on Data Clustering 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!