使用Python绘制常微分方程和等斜线

4 投票
2 回答
4250 浏览
提问于 2025-04-16 19:41

我在寻找一个Python的库,想要画出类似下面这个Java小程序的图:

http://math.mit.edu/mathlets/mathlets/isoclines/

有没有人知道有什么可以用来画常微分方程(ODE)的库吗?我可以用Numpy和Matplotlib从头开始写一个,但我想先问问大家。

谢谢!

2 个回答

1

Sage会这样做:

x,y = var("x y")
eq = y^3-3*y-x
p = implicit_plot(eq==0,(x,-4,4),(y,-4,4))
p += plot_slope_field(eq, (x,-4,4),(y,-4,4), headlength=1e-8)
p.show(aspect_ratio=1)

其实它只是把matplotlib的功能包裹起来,用来做图形展示。(老实说,Sage对matplotlib的封装还不够完善,这常常让我感到困扰。)

example

3

我写了类似这样的东西,似乎可以解决 y'=y^2-x 这个问题。

from pylab import *
xmax = 4.0
xmin = -xmax
D = 20
ymax = 4.0
ymin = -ymax
x = linspace(xmin, xmax, D)
y = linspace(ymin, ymax, D)
X, Y = meshgrid(x, y)
deg = arctan(Y**2 - X)
QP = quiver(X,Y,cos(deg),sin(deg))
show()

在这里输入图片描述

撰写回答