单一解
通过使用以下语法调用 run
,您可以获得运行期间找到的最佳解
[x,fval,exitflag,output] = run(...);
x
是目标函数值最小的局部最小值的位置。fval
是在x
处评估的目标函数值。exitflag
是全局求解器的退出标志。值:全局求解器退出标志
2
至少发现一个可行局部最小值。局部求解器的一些运行并未收敛。 1
至少发现一个可行局部最小值。局部求解器的所有运行均已收敛(具有正退出标志)。 0
找不到局部最小值。局部求解器至少被调用一次,并且至少一个局部求解器超出了 MaxIterations
或MaxFunctionEvaluations
容差。-1
一个或多个局部求解器运行被局部求解器输出或绘图函数停止。 -2
找不到可行的局部最小值。 -5
超过 MaxTime
限制。-8
找不到解。所有运行都有局部求解器退出标志 -2
或更低,并非所有都等于-2
。-10
用户提供的函数遇到失败。 output
是一个包含有关局部求解器多次运行的详细信息的结构体。有关详细信息,请参阅全局输出结构体。
输出列表针对的是 exitflag > 0
的情况。如果 exitflag <= 0
,则 x
如下:
如果某些局部解是可行的,则
x
表示最低目标函数值的位置。“可行”意味着约束违反小于problem.options.ConstraintTolerance
。如果没有可行的解,则
x
是不可行性最低的解。如果不存在解,
x
、fval
和output
为空条目 ([]
)。