How can I use custom membership functions in ANFIS?

8 visualizzazioni (ultimi 30 giorni)
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.

Risposte (1)

Amritesh
Amritesh il 26 Giu 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 Commenti
Tooba Shelkh
Tooba Shelkh il 26 Giu 2022
I want to train ANFIS on my custom MF. It is not allowing me to do that, it requires me to add built-in MF for that purpose. It does not generate the rules from my custom MF.
Amritesh
Amritesh il 26 Giu 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);

Accedi per commentare.

Categorie

Scopri di più su Fuzzy Inference System Tuning in Help Center e File Exchange

Prodotti


Release

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by