How do i minimze my fuzzy logic controller using genetic algorithm?
4 ビュー (過去 30 日間)
古いコメントを表示
I am trying to minimize the function of my fuzzy logic controller using the genetic algorithm. Please find attached the code for the fuzzy logic controller. The error I keep getting is shown below when I use my call function ;
M=[14000,15555,16000,17000,18000,19000; 14555,15555,16000,17555,18530,19000] options = gaoptimset('InitialPopulation',M) [x fval] = ga(@FuzzyForecast,6, options)
Error using FuzzyForecast (line 9) Not enough input arguments.
Error in createAnonymousFcn>@(x)fcn(x,FcnArgs{:}) (line 11) fcn_handle = @(x) fcn(x,FcnArgs{:});
Error in makeState (line 47) firstMemberScore = FitnessFcn(state.Population(initScoreProvided+1,:));
Error in gaunc (line 40) state = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);
Error in ga (line 356) [x,fval,exitFlag,output,population,scores] = gaunc(FitnessFcn,nvars, ...
Caused by: Failure in initial user-supplied fitness function evaluation. GA cannot continue.
0 件のコメント
回答 (1 件)
Stephan
2018 年 9 月 22 日
編集済み: Stephan
2018 年 9 月 22 日
Hi,
ga passes only one x with 6 entries to the objective function. Try the attached version. I could not test, since i do not have Fuzzy Logic Toolbox. The change are these lines at the beginning:
function z=FuzzyForecast(x)
x1 = x(1);
x2 = x(2);
x3 = x(3);
x4 = x(4);
x5 = x(5);
x6 = x(6);
The other lines are kept as they were.
Best regards
Stephan
3 件のコメント
参考
カテゴリ
Help Center および File Exchange で Genetic Algorithm についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!