gpt4 book ai didi

optimization - 数学 : how to find the max of an expression with exponents as parameters

转载 作者:行者123 更新时间:2023-12-03 16:51:22 26 4
gpt4 key购买 nike

我正在使用 Mathematica 8 寻找表达式最大值的解析解。当我使用 Maximize 命令试图找到解决方案时,它只是重复我输入的内容,这意味着 Mathematica 不知道如何去做。我已将问题缩小为:似乎如果有一个指数是参数,则 Maximize 不起作用。这是一个例子。这是伯努利试验的似然函数,其中 a 和 b 是成功和失败。

Maximize[{t^a*(1 - t)^b, {t >= 0, t <= 1, a > 0, b > 0}}, {t}]

在这种情况下,我想得到的解决方案是a/(a+b)。如果我提供像 3 和 2 这样的常量而不是 ab 那么它会找到解决方案。

是否有不同的方法来指定表达式或约束,以便 Mathematica 可以找到以指数为参数的表达式的最大值?我觉得我缺少了什么,因为这太简单了。

最佳答案

我一直在玩它,即移动条件、改变表达式形式、删除条件,但我也无法让 Maximize 起作用。不过这个可以直接解决,如下

Solve[ D[ t^a (1 - t)^b, t ] == 0, t]

如您所说,它给出了 {{t -> a/(a + b)}}。有时Reduce可用于帮助理解为什么像 Maximize 这样的函数通过提供更完整的解空间图来表现不正常。它像Solve一样被调用,如下

Reduce[ D[ t^a (1 - t)^b, t ] == 0, t]

给予

((-1 + t) t != 0 && a == 0 && b == 0) || 
(a + b != 0 && a b != 0 && t == a/(a + b)) ||
(Re[b] > 1 && t == 1) ||
(Re[a] > 1 && t == 0)

在这种情况下,这并不是那么有用。

关于optimization - 数学 : how to find the max of an expression with exponents as parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7853478/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com