math - 如何求解具有两个变量的方程,其中 x 是最大值?

标签 math wolfram-mathematica equations

假设我有一个方程 - 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/

相关文章:

wolfram-mathematica - 您如何计算 Mathematica 中的条件概率。是否可以?

directory - 在 Mathematica 中指定保存目录

wolfram-mathematica - 前端对表达式的转换

algorithm - 求解行列式的计算机算法

java - 在 Java 中抛出 ArithmeticException

c++ - 计算正方形的法线

javascript - Javascript 中算术表达式的安全评估

math - Haskell 中的守卫方程

matlab - 如何在 Matlab 中求解矩阵方程

javascript - 意外的向量旋转值