假设我有一个方程 - x^2+y^2=100 - 显然有不止一个解决方案。
我想让 Mathematica 8 给我解决方案(仅涉及自然数),其中 x 将最大化(即 x=10,y=0)
我对 Mathematica 很陌生 - 并且对正在发生的事情感到非常困惑......
最佳答案
没有丢番图明确要求:
Maximize[{x , x^2 + y^2 == 100}, {x, y}]
(*
-> {10, {x -> 10, y -> 0}}
*)
编辑
如您所见,结果是一个包含两个元素的列表。第一个元素 (
10
) 是 x
的值(执行最大化的函数)。第二个元素是 {x -> 10, y -> 0}
,对应于最大点处变量的赋值规则。请注意,这里我们最大化
x
,所以值 10
在两个元素中重复,但情况并非总是如此,因为我们通常希望最大化变量的一般函数,而不是变量本身。在这种特殊情况下,我们有两种直接的方法来分配
x
的最大值。至 n
:使用列表的第一个元素:
n = First@Maximize[{x , x^2 + y^2 == 100}, {x, y}]
或者更一般地,使用适当的规则:
n = x /. Last@Maximize[{x, x^2 + y^2 == 100}, {x, y}]
关于math - 如何求解具有两个变量的方程,其中 x 是最大值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6767858/