主要内容

表达式包含

优化建模函数不允许您指定复杂的,,或值。然而,表达式可以在普通操作中出现。通常,这些表达式会导致错误的解。

优化表达式包含不能显示。例如,双精度算法中最大实数约为1.8 e308.所以2 e308溢出来

x = optimvar (“x”);y = 1 e308;expr = 2 * x * y
expr = OptimizationExpression表达式包含Inf或NaN。

同样的,因为Inf - Inf = NaN,以下表达式无法显示。

Expr = 2*x*y - 3*x*y
expr = OptimizationExpression表达式包含Inf或NaN。

如果任何优化表达式包含,尝试在调用之前消除这些值解决.这样做:

  • 方法搜索这些表达式显示功能。

  • 检查表达式是否来自于除以零的除法,还是来自于大量的加法或乘法。如果是,请删除或更正这些表达。

  • 通常,这些表达式是错误的结果。然而,有时它们是由糟糕的伸缩性引起的。如果有必要,将每个相关表达式除以一个足够大的标量,以使表达式不再溢出,或者使用另一个缩放操作。

另请参阅

|

相关的话题

Baidu
map