【问题标题】:How to use "fsolve" for optimizing the objective function?如何使用“fsolve”优化目标函数?
【发布时间】:2017-02-10 12:01:49
【问题描述】:

如何使用“fsolve”优化以下功能。它只接受向量形式的输入参数,但我必须以矩阵的形式将输入参数传递给下面的函数。

我在使用优化工具箱时遇到以下错误

运行优化时出错。内部矩阵尺寸必须一致。

 function f = object(w)
 k=10;
 B=20;
 f = sum ((w(1,:)/(w(2,:).^w(3,:)*k)+((w(3,:)-1)*w(4,:)/B*w(3,:))));
 end

【问题讨论】:

    标签: matlab optimization


    【解决方案1】:

    您对外部环境的问题描述非常简短,但从您的函数看来,该函数可能需要一个大小为 4 x Nw 参数。我猜对了吗?如果是这样,请尝试

    w_initial = rand(4*N,1); % resonable initialization. maybe random? maybe zeros?
    fsolve(@(w) object(reshape(w,4,N)), w_initial, ...)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2015-10-24
      • 2021-02-13
      • 2022-06-16
      • 1970-01-01
      相关资源
      最近更新 更多