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!