具有两个变量的 fminsearch



我正在尝试使用 fminsearch 最小化 5 变量函数。我只想最小化两个变量的函数。我尝试了以下方法,但没有运气:

func = @(x,b) myfunction( x, y, z, a, b ); 
fminsearch(func,[x0,b0]);
x 是

NxM 维的矩阵,bYxZ 维的矩阵,所以维数不同。起始条件 x0b0 相同。

我看到过一些类似的问题,但我仍然无法解决这个问题。

运行脚本时得到以下输出:

Error using horzcat
Dimensions of matrices being concatenated are not consistent.

通常函数fminsearch只允许三个输入:函数句柄、初始值向量和优化选项,如下所示: fminsearch(@fun,x0,options)

幸运的是,有一个小技巧可以做,你可以在选项后面放置额外的参数,就像这样:fminsearch(@fun,[x0 b0],options,z,a,b)

如果您不使用任何选项,则应如下所示:fminsearch(@fun,[x0 b0],[],z,a,b) .

请记住,在函数中,您应该解压缩变量 ab ,如下所示:

function[obj]=func(x0,z,a,b)
x=x0(1)
y=x0(2)
%rest of the function
end

相关内容

  • 没有找到相关文章

最新更新