单一解
通过使用以下语法调用 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为空条目 ([])。