How can I use custom membership functions in ANFIS?

5 views (last 30 days)
Tooba Shelkh
Tooba Shelkh on 26 Jun 2022
Commented: Amritesh on 26 Jun 2022
I am trying to use custom MFs in anfis, instead of the preset bellMF?
I have followed the steps in this link, but how do I use it afterwards in my code?
For example in the example provided, we have:
load fuzex1trnData.dat
fis = anfis(fuzex1trnData);
Now how do I use the FIS (customfis) with the custom MF that I created using FuzzyLogicDesigner?
Any help is appreciated.

Answers (1)

Amritesh
Amritesh on 26 Jun 2022
If you have already made FIS, then use fis = anfis(trainingData,options) and in options use that custom FIS.
If not then, first add custom membership function to a FIS like
myFIS = addMF(myFIS,"input1","custmf1",[0 1 2 4 6 8 9 10],'Name',"customMF1");
Documentation Links:
  1. https://in.mathworks.com/help/fuzzy/building-fuzzy-inference-systems-using-custom-functions.html
  2. https://in.mathworks.com/help/fuzzy/anfis.html
Hope this solves your problem.
  2 Comments
Amritesh
Amritesh on 26 Jun 2022
You can define an initial FIS structure using genfisOptions
genOpt = genfisOptions('GridPartition');
genOpt.NumMembershipFunctions = num;
genOpt.InputMembershipFunctionType = 'cumstomMF1'; % Here you use your custom MF
inFIS = genfis(x,y,genOpt);
You can use name of a custom membership function in the current working folder or on the MATLAB® path in InputMembershipFunctionType.
And, then configure the ANFIS training options
opt = anfisOptions('InitialFIS',inFIS);

Sign in to comment.

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by