我正在尝试使用带有多个参数的fminsearch,但我似乎无法使用两个参数。我也尝试过在matlab中使用优化工具,但是我得到了:
Optimization running.
Error running optimization.
Not enough input arguments. 我的工作是:
fval = fminsearch(@g,[1 1])函数g如下所示:
function r=g(x,y)
r=x.^3+3*x*y.^2+12*x*y;
end但我得到的是:
Error using g (line 2)
Not enough input arguments.
Error in fminsearch (line 190)
fv(:,1) = funfcn(x,varargin{:});发布于 2015-01-23 07:41:28
您的函数g接受两个输入,x和y,但是您为fminsearch提供了一个输入,即向量[1 1]。您需要重写它,以便fminsearch只需要一个向量作为输入,然后将该向量拆分为两个数字输入到g中。
fminsearch(@(v) g(v(1),v(2)),[1 1])这就产生了一个匿名函数,它接受一个向量作为输入(v),然后使用第一个元素(v(1))作为g的第一个输入,使用第二个元素作为第二个输入。
https://stackoverflow.com/questions/28100629
复制相似问题