如何解一个有两个变量的方程,其中x是最大值



假设我有一个方程- x^2+y^2=100 -显然不止一个解。
我想让Mathematica 8给我解决方案(只涉及自然数),其中x将最大化(即x=10, y=0)

没有丢番图的明确要求:

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}]

相关内容

最新更新