How can I use custom membership functions in ANFIS?
2 views (last 30 days)
Show older comments
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:
fis = anfis(fuzex1trnData);
Now how do I use the FIS (customfis) with the custom MF that I created using FuzzyLogicDesigner?
Any help is appreciated.
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");
Hope this solves your problem.
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.
Have a look at https://in.mathworks.com/help/fuzzy/genfisoptions.html
And, then configure the ANFIS training options
opt = anfisOptions('InitialFIS',inFIS);
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!