Processing 5 input of matrices into a fuzzy logic system

5 views (last 30 days)
Sir Arkadiy Turevskiy,
I read your answer about 'Processing a list of inputs into a fuzzy logic system. I have a similar question, I want to process 5 input matrices (207*216) to take 1 output matrices (207*216). I have five separate matrices text file loaded in workspace(input1=slope_text, input2=jeo_text, input3=pop_text, input4=land_text, input5=stream_text)
[System]
Name='Suitability2'
Type='mamdani'
Version=2.0
NumInputs=5
NumOutputs=1
NumRules=108
AndMethod='min'
OrMethod='max'
ImpMethod='min'
AggMethod='max'
DefuzzMethod='centroid'
[Input1]
Name='EĞİM'
Range=[0 10]
NumMFs=3
MF1='very_suitable':'trapmf',[-4.5 -0.5 2 5]
MF2='moderately_suitable':'trapmf',[2 5 7 10]
MF3='unsuitable':'trapmf',[7 10 11 40]
[Input2]
Name='JEOLOJİ'
Range=[0 10]
NumMFs=2
MF1='suitable':'trapmf',[4 8 10 13.75]
MF2='unsuitable':'trapmf',[-4.5 -2 1 2]
[Input3]
Name='NÜFUS'
Range=[0 98399]
NumMFs=3
MF1='LOW':'trimf',[0 9976 25470]
MF2='HIGH':'trimf',[72460 98400 1000000]
MF3='medium':'trimf',[25470 46380 72460]
[Input4]
Name='ARAZİ_KULLANIMI'
Range=[0 10]
NumMFs=2
MF1='Unsuitable':'trimf',[0 0 6]
MF2='Suitable':'trimf',[6 10 10]
[Input5]
Name='YÜZEYSEL_AKIŞ'
Range=[0 10]
NumMFs=3
MF1='low':'trimf',[1 2 3]
MF2='high':'trimf',[5 6 7]
MF3='medium':'trimf',[3 4 5]
[Output1]
Name='UYGUNLUK_DEĞERİ'
Range=[0 100]
NumMFs=3
MF1='POOR':'trapmf',[-4.46 0 10 40]
MF2='GOOD':'trimf',[25 50 75]
MF3='EXCELLENT':'trapmf',[60 90 100 100]

Answers (1)

MULI
MULI on 20 Sep 2024
Hi Berna,
I understand that need to process your five input matrices to generate a 207x216 output matrix.
You can follow the below steps to process the inputs using “Fuzzy Logic Designer
  • Load your fuzzy inference system (FIS) in the Fuzzy Logic Designer
fuzzyLogicDesigner('your_system.fis')
  • Define your inputs, outputs, and membership functions in the Fuzzy Logic Designer.
  • Set the input ranges and corresponding membership functions for each input and define your rules.
  • After defining your system, generate the MATLAB code for simulation using the "Export > Generate Simulation Function" option from the "Desig"n tab in the app.
  • Once you generate the code, MATLAB will open a script that simulates the fuzzy system programmatically. You can modify this code to process your input matrices.
You can refer to these MathWorks documentation links for more information on “Fuzzy Logic Designer” and generating MATLAB code for fuzzy systems

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!