2013-04-01 57 views
4

我正在尋找一種在Matlab中繪製斜場的方法。如何在matlab中繪製斜場

這裏就是我要找:

我有一個公式

dy/dx = f(x,y) 

dx/dt = f(x,y) 
dy/dt = g(x,y) 

,我希望把它畫在一個不錯的方式

因爲關於它的唯一answer沒有回答我的問題,它花了我一些時間如何做到這一點。因爲這不是我一直在MATLAB中做的事情(很可能直到下一次我需要它,我會忘記它)我正在爲我創建一個備忘錄如何做到這一點。

如果你會發現它很有用,隨意給予好評

回答

8

所以這裏是方程:

dx/dt = x^2-3xy+y 
dy/dt = -5x+sin(yx) 

這是代碼,這將有助於做的工作:

[x,y] = meshgrid(-2:0.2:2); 
dx = x.^2-3*x.*y+y; 
dy = -5*x+sin(x.*y); 
r = (dx.^2 + dy.^2).^0.5; 
px = dx./r; 
py = dy./r; 
quiver(x,y,px,py); 

也可以使用包裝dfield。你可以閱讀它here。但我還沒有爲自己做過測試