【发布时间】:2019-02-13 01:12:34
【问题描述】:
我在 MATLAB 中编写了以下函数:
function EX_EFFICIENCY=EXERGY_EFFICIENCY_FUNCTION(CR,ER,PC,T0,P0)
我使用了以下顺序(ga):
x = ga(@EXERGY_EFFICIENCY_FUNCTION,5)
但它得到了错误:
输入参数不足。
EXERGY_EFFICIENCY_FUNCTION 中的错误(第 22 行) T7p=T0.*(PC.^((k-1)./k));
createAnonymousFcn 中的错误>@(x)fcn(x,FcnArgs{:})(第 11 行)fcn_handle = @(x) fcn(x,FcnArgs{:});
makeState 中的错误(第 47 行) firstMemberScore = FitnessFcn(state.Population(initScoreProvided+1,:));
gaunc(第 40 行)状态错误 = makeState(GenomeLength,FitnessFcn,Iterate,output.problemtype,options);
ga 中的错误(第 398 行) [x,fval,exitFlag,output,population,scores] = gaunc(FitnessFcn,nvars, ...
原因: 初始用户提供的适应度函数评估失败。 GA 无法继续。
如何最小化这个功能?
【问题讨论】:
-
最小化?优化?你的意思是修?
ga想要一个带有一个输入参数的函数的句柄。你给它一个需要 5 个参数的参数。这当然行不通。
标签: matlab optimization