在Matlab中优化具有多个输出的功能

时间:2013-05-12 09:51:27

标签: matlab function optimization

说我有一个功能

[f,g,h] = function (x)

在Matlab中的文件function.m中。如何找到值x,例如使用fminunc,最大化gfminunc文档仅处理目标函数返回单个值时的情况。

1 个答案:

答案 0 :(得分:7)

必须fminunc提供一个返回标量的函数,所以在你的情况下你只需要声明一个返回g的辅助函数:

g = function helper_func(x)
    [f, g, h] = func(x);

并将帮助函数提供给fminunc

x = fminunc(@helper_func, x0);