主要内容

本页采用了机器翻译。点击此处可查看最新英文版本。

单一解

通过使用以下语法调用 run,您可以获得运行期间找到的最佳解

[x,fval,exitflag,output] = run(...);
  • x 是目标函数值最小的局部最小值的位置。

  • fval 是在 x 处评估的目标函数值。

  • exitflag 是全局求解器的退出标志。值:

    全局求解器退出标志

    2至少发现一个可行局部最小值。局部求解器的一些运行并未收敛。
    1至少发现一个可行局部最小值。局部求解器的所有运行均已收敛(具有正退出标志)。
    0找不到局部最小值。局部求解器至少被调用一次,并且至少一个局部求解器超出了 MaxIterationsMaxFunctionEvaluations 容差。
    -1一个或多个局部求解器运行被局部求解器输出或绘图函数停止。
    -2找不到可行的局部最小值。
    -5超过 MaxTime 限制。
    -8找不到解。所有运行都有局部求解器退出标志 -2 或更低,并非所有都等于 -2
    -10用户提供的函数遇到失败。
  • output 是一个包含有关局部求解器多次运行的详细信息的结构体。有关详细信息,请参阅全局输出结构体

输出列表针对的是 exitflag > 0 的情况。如果 exitflag <= 0,则 x 如下:

  • 如果某些局部解是可行的,则 x 表示最低目标函数值的位置。“可行”意味着约束违反小于 problem.options.ConstraintTolerance

  • 如果没有可行的解,则 x 是不可行性最低的解。

  • 如果不存在解,xfvaloutput 为空条目 ([])。

另请参阅

主题