如何用x最大的两个变量求解方程式?

时间:2011-07-20 20:09:56

标签: math wolfram-mathematica equations

假设我有一个等式 - x ^ 2 + y ^ 2 = 100 - 显然有多个解决方案。
我想让Mathematica 8给我解决方案(其中只涉及自然数)x将最大化(即x = 10,y = 0)
我对Mathematica很新 - 并且对于最近发生的事情感到很困惑......

1 个答案:

答案 0 :(得分:4)

没有丢番图明确的要求:

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