2011-07-20 57 views
4

可以說我有一個方程 - x^2 + y^2 = 100 - 顯然有多個解決方案。
我想讓Mathematica 8給我解決方案(其中只包含自然數)其中x將被最大化(即x = 10,y = 0)
我對Mathematica很新穎 - 並且對whats感到困惑怎麼回事...如何用兩個變量求解x最大的方程?

+0

在Mathematica中學習過程與獲得答案有何重要?製作Mathematica的人也可以製作Wolfram Alpha,如果您只需在Wolfram Alpha中輸入該公式,它將列出所有整數解(適用於最大化x的整數解)。不知道這是否有幫助... –

+0

以及我得到了所有使用Reduce的解決方案 - 我該怎麼處理它? –

回答

4

沒有不定明確requierment:

Maximize[{x , x^2 + y^2 == 100}, {x, y}] 
(* 
-> {10, {x -> 10, y -> 0}} 
*) 

編輯

正如你所看到的,結果是兩個元素列表。第一個元素(10)是x(執行最大化的函數)的值。第二個元素是{x -> 10, y -> 0},對應於最大點變量的分配規則。

請注意,我們在這裏最大化x,所以價值10在這兩個元素是重複的,但事實並非總是如此,因爲我們通常希望最大化變量的一般功能,而不是增值經銷商自己。

在這種特殊情況下,我們有兩個簡單的方式來分配的xn最大值:

使用列表的第一個元素:

n = [email protected][{x , x^2 + y^2 == 100}, {x, y}] 

或者更一般的,使用適當的規則:

n = x /. [email protected][{x, x^2 + y^2 == 100}, {x, y}] 
+0

好的 - 謝謝。但我怎麼能從 - 「x == 10」轉換爲10?我的意思是我有n = x == 10 && y == 0,然後我使用n = Extract [n,1],現在n = x == 10,我怎樣才能將它轉換爲10? –

+1

@Quantic'n = x /。最後@最大化[{x,x^2 + y^2 == 100},{x,y}]' –

相關問題