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

lod*_*dhb 2 optimization matlab function

说我有一个功能

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

function.mMatlab中的文件中.我怎样才能找到最大化的值x,例如使用?该文档仅处理目标函数返回单个值时的情况.fminuncgfminunc

Eit*_*n T 7

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

g = function helper_func(x)
    [f, g, h] = func(x);
Run Code Online (Sandbox Code Playgroud)

并将辅助函数输入fminunc:

x = fminunc(@helper_func, x0);
Run Code Online (Sandbox Code Playgroud)