필터 지우기
필터 지우기

How can I apply Fuzzy Inference System in MATLAB App Designer

조회 수: 6 (최근 30일)
Good day to all.
I have designed a system using Fuzzy Logic Toolbox and now I want to implement the Fuzzy Inference System in the standalone application which I am going to develop using MATLAB App Designer.
The basic function of the application is to calculate the risk level of the disease using fuzzy logic. The user will be required to insert the inputs in numerical forms and the ouput will be the risk level. So there will be a button to allow the user to press in order to generate the output.
My question is how to link the .fis file in the button of the App Designer?

채택된 답변

Subhadeep Koley
Subhadeep Koley 2019년 8월 5일
Hi, you can use uigetfile to achieve the same.
  1. Drag and drop the button onto the designer workspace
  2. Right click the button, hover over 'callbacks', select 'AddButtonPushedFcn callback'
  3. Paste the following code inside the ButtonPushed function
[file,path] = uigetfile('*.fis');
selectedfile = fullfile(path,file);
fuzzyLogicDesigner(selectedfile);
4. Save & Run the App.

추가 답변 (3개)

Li Mun Ng
Li Mun Ng 2019년 8월 6일
Firstly, thank you so much responding to my question, Subhadeep Koley.
I have tried using the setps suggested by you. However, it will open the .fis file and I still need to insert my data in fis in order to get my result which I intend not to do in fis. But I would like to have a uer interface to execute the calculation part without using fis toolbox. Pardon me, is there an alternative way of computing the fis in my App Designer?
This is how the user interface looks like, but I haven't been able to connect the inputs and output to the fuzzy button in order to genarte the result.
Screenshot (65).png
  댓글 수: 4
Subhadeep Koley
Subhadeep Koley 2019년 8월 6일
When I am executing the same code for the MATLAB in-built "tipper.fis" fis file it is giving me correct Output everytime.
function FuzzyButtonPushed(app, event)
fis = readfis('tipper');
i1=app.IP1EditField.Value;
i2=app.IP2EditField.Value;
inputs=[i1 i2];
output = evalfis(inputs,fis);
app.OPEditField.Value=output;
end
Therefore it is difficult to say which part went wrong without knowing what inputs your fis expect.
Capture.PNG
Li Mun Ng
Li Mun Ng 2019년 8월 7일
Thank you Subhadeep for your patience and advice and I will try troubleshooting what causes the error. :D

댓글을 달려면 로그인하십시오.


Walter Roberson
Walter Roberson 2019년 8월 6일

chiwapon nitnara
chiwapon nitnara 2020년 3월 2일
from this code i'm try to use this code to 2 output how to??? Thank you

카테고리

Help CenterFile Exchange에서 Fuzzy Logic in Simulink에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by