【问题标题】:"scalar-valued" Mathematica maximization error“标量值” Mathematica 最大化误差
【发布时间】:2022-01-18 18:43:36
【问题描述】:

我正在使用数学对目标函数“f”进行最大化

Maximize[{f, x1 > 0, y1 > 0, (x2 - x1) < l, (x2 - x1) > 0, (y2 - y1) < b, (y2 - y1) > 0, \k<= 0.3}, {x1, x2, y1, y2, k}, Reals]

它给了我“目标函数应该是标量值”。 有人遇到过这个问题吗?可能是什么错误?

【问题讨论】:

    标签: wolfram-mathematica maximize


    【解决方案1】:

    如果目标函数 (f) 是 2 个或更多矩阵乘法过程的乘积 例如:

    A.B
    

    其中 A 是 (1x4) 矩阵,B 是 (4x1) 矩阵。 那么乘积(目标函数)应该只是具有未知参数的标量值表达式以最大化。出现问题是因为 Mathematica 认为矩阵乘积的结果是另一个矩阵,即使它只是一个数字(它被认为是 (1x1) 矩阵)。然后,当我尝试最大化它时,该过程不是程序的逻辑,因为不可能最大化矩阵。所以,它给了我这个错误

     "The objective function should be scalar-valued"
    

    要解决它,首先重新定义目标函数如下:

    F=f[[1,1]];
    

    然后最大化(F)

    【讨论】:

      猜你喜欢
      • 2016-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-24
      相关资源
      最近更新 更多