1

我想通过以下方式最小化一个功能fmincon

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

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

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

4

1 回答 1

0

一个问题是fmincon在迭代过程中一遍又一遍地调用你的函数。所以你应该指定,当你想要你的东西返回时,特别是,如果它改变了params

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

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

于 2013-01-31T16:00:40.623 回答