2012-01-11 83 views
7

我可以在Mathematica中繪製和處理隱式函數嗎?在Mathematica中使用隱式函數

例如: -

x^3 + y^3 = 6xy

我可以繪製這樣的功能?

+4

爲什麼有人編輯在原始問題或任何答案中根本不添加「z」? – agentp 2013-02-14 18:16:45

+0

這不是一個函數,它是三個笛卡爾座標* x *,* y *和* z *中的*方程*。然而,等式的左邊可以被認爲給出了從\ R^3到\ R的映射(函數)的'規則'。然後等式給出這個標量場(地圖,函數)的特定水平集,它是空間中的二維表面。 – 2013-10-15 14:25:34

回答

19
ContourPlot[x^3 + y^3 == 6*x*y, {x, -2.7, 5.7}, {y, -7.5, 5}] 

兩點意見:

  1. 注意雙等號和乘法符號。
  2. 您可以通過WolframAlpha界面找到這個確切的輸入。這個界面更加寬容,幾乎可以接受你的輸入 - 雖然我確實需要指定我想要某種類型的繪圖。

enter image description here

+5

適用於Wolfram | Alpha的好用。 – 2012-01-12 04:04:13

+1

謝謝你..但我並不是指只繪圖..我想處理它..喜歡分化和東西..我可以隱式區分這個方程嗎? – 2012-01-13 10:07:57

16

是,使用ContourPlot

而且它甚至有可能沿着自身的曲線繪製文本x^3 + y^3 = 6xy,通過更換Line原始幾個Text原語:

ContourPlot[x^3 + y^3 == 6 x y, {x, -4, 4}, {y, -4, 4}, 
Background -> Black, PlotPoints -> 7, MaxRecursion -> 1, ImageSize -> 500] /. 
{ 
Line[s_] :> 
Map[ 
    Text[Style["x^3+y^3 = 6xy", 16, Hue[RandomReal[]]], #, {0, 0}, {1, 1}] &, 
    s] 
} 

Mathematica graphics

或者您可以沿曲線動畫的公式,像這樣:

res = Table[ Normal[ 
ContourPlot[x^3 + y^3 == 6 x y, {x, -4, 4}, {y, -4, 4}, 
    Background -> Black, 
    ImageSize -> 600]] /. 
{Line[s_] :> {Line[s], 
    Text[Style["x^3+y^3 = 6xy", 16, Red], s[[k]], {0, 0}, 
    s[[k + 1]] - s[[k]]]}}, 
    {k, 1, 448, 3}]; 

ListAnimate[res] 

Mathematica graphics

+4

一個人不可能爲這個答案投票:一個人怎麼可能抵制沿軌道運行的「方程式」? – murray 2012-01-12 04:28:07

+0

+1。你真的很專業。 – 2014-09-20 03:33:23