2012-01-18 47 views

回答

17

您需要的命令(從版本7開始)是VectorPlot。文檔中有很好的例子。

我認爲你有興趣的情況下是一個微分方程

y'[x] == f[x, y[x]] 

在你在你的問題了的情況下,

f[x_, y_] := y 

於一體的指數

In[]:= sol = DSolve[y'[x] == f[x, y[x]], y, x] 
Out[]= {{y -> Function[{x}, E^x c]}} 

我們可以繪製斜坡場 (見wikibooks:ODE:Graphing)採用

VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 2}] 

y

這可以通過解決方案的DE使用的東西被繪製像

Show[VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 8}, 
    VectorStyle -> Arrowheads[0.03]], 
Plot[Evaluate[Table[y[x] /. sol, {c, -10, 10, 1}]], {x, -2, 2}, 
    PlotRange -> All]] 

y again

也許更有趣的例子是高斯

In[]:= f[x_, y_] := -x y 

In[]:= sol = DSolve[y'[x] == f[x, y[x]], y, x] /. C[1] -> c 
Out[]= {{y -> Function[{x}, E^(-(x^2/2)) c]}} 

Show[VectorPlot[{1, f[x, y]}, {x, -2, 2}, {y, -2, 8}, 
    VectorStyle -> Arrowheads[0.026]], 
Plot[Evaluate[Table[y[x] /. sol, {c, -10, 10, 1}]], {x, -2, 2}, 
    PlotRange -> All]] 

-xy


最後,有梯度場,在那裏你看看梯度(矢量衍生物)函數的相關概念:

In[]:= f[x_, y_] := Sin[x y] 
     D[f[x, y], {{x, y}}] 
     VectorPlot[%, {x, -2, 2}, {y, -2, 2}] 

Out[]= {y Cos[x y], x Cos[x y]} 

Sin[x y]

0

這樣看來,從您鏈接,它需要一個函數f(x,y)的示範,但你有一組差異的。但是,知道f(x,y)=y(x)',您可以使用f(x,y)=C*E^x其中x=t。我的差異可能有點生疏,但我確信這是正確的。

+0

人有斜坡場的1班輪? – user968102 2012-01-18 06:27:39

+0

1班輪?如果你需要知道如何把它放入你可以檢查http://www.physicsforums.com/showthread.php?t=152157這是一個多一點,因爲Mathematica顯然需要一個庫導入然後調用繪圖功能本身更多一點。 – 2012-01-18 07:38:26