python - 圣人情节斜率场和微分方程

标签 python matplotlib differential-equations sage

我正在尝试在 Sage Notebook 中绘制斜率场和几个独特的解决方案,但我的斜率场与解决方案不匹配。

c = var('c')
y = (ln(x)+c)/x
show(y)
p1 = plot_slope_field( y, (x,0,5), (c,-5,5))

for i in range(-5,5):
    p1 = p1 + plot(y(c=i),x,0,5, ymin=-5, ymax=5)
p1

plot p1

我希望斜率场近似于附近函数的斜率,但它们似乎根本不匹配。

最佳答案

斜率不应包含积分常数。斜率场是微分方程y'=f(x,y) 的矢量场(1,f(x,y))。因此,您需要通过消除常数 c 来找到函数族的 ODE。

对于方程

y = (ln(x)+c)/x

常量c的隔离给出

c = xy - ln(x)

和导数方程/隐式 ODE

0 = xy' + y - 1/x

因此坡度字段应该用于斜坡

y' = f(x,y) = -y/x + 1/(x*x)

x = var('x')
y = var('y')
c = var('c')
ysol = (ln(x)+c)/x
show(ysol)
p1 = plot_slope_field( -y/x+1/(x*x), (x,0,5), (y,-5,5))

for i in range(-5,5):
    p1 = p1 + plot(ysol(c=i),x,0,5, ymin=-5, ymax=5)
p1

slope field by sage server

关于python - 圣人情节斜率场和微分方程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33574905/

相关文章:

pythonpyder 3.1.4快捷方式(macOS Sierra 10.12.4)

pandas - 使用日期时间列类型设置主要 Xtick

Haskell - 优化微分方程求解器

python - 使用 scipysolve_ivp 作为带有额外参数的函数

python - django自定义过滤器-用行空格替换换行符

python - 导入错误 : No module named stack

python - Gmail 应用程序 - 快速入门,错误 : redirect_uri_mismatch

python - 六边形联合图的 Seaborn 成对矩阵

Matplotlib,如何在一侧内部和另一侧外部获得刻度线?

matlab - 使用 Matlab 求解矩阵形式的 DDE