【问题标题】:How can I return more than one output from function called by fmincon?如何从 fmincon 调用的函数返回多个输出?
【发布时间】:2013-01-31 15:35:41
【问题描述】:

我想通过fmincon最小化一个函数:

[param, fval]=fmincon(@(param) functionfile(param, additional inputs), ...);

但是,除了最小的参数和函数值,我想从fmincon调用的函数中取回一些其他的东西。

我不想使用全局变量。有没有其他方法可以做到这一点?

【问题讨论】:

    标签: matlab


    【解决方案1】:

    一个问题是fmincon 在一个迭代过程中一遍又一遍地调用你的函数。所以你应该指定,当你希望你的东西返回时,特别是它是否随着params而改变

    如果您想要返回的东西是一个固定值 - 您应该在额外的函数调用之前或之后要求它。

    如果你的东西只是固定数字,你可以将它们包含在函数的输出中,这样它们就会出现在fval 中。但是,这样做会导致性能下降。

    【讨论】:

      猜你喜欢
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 2021-11-05
      • 1970-01-01
      • 1970-01-01
      • 2014-10-15
      • 2020-09-10
      • 2012-10-04
      相关资源
      最近更新 更多