2012-01-11 35 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