在python中绘制微分方程

时间:2020-10-11 16:12:48

标签: python plot

我代表一个符号微分方程。在python中使用sympy,但是我不知道如何绘制它。据我了解,我必须使用lambdify来转换符号差异。 eq。 numpy,然后将其绘制。 这是我写的:

`

import numpy as np
import matplotlib.pyplot as plt
import sympy as sym
from sympy import *
sym.init_printing()

t = sym.Symbol('t')
k = sym.Symbol('k')

y = sym.Function('y')         # y is a general function
f = y(t).diff(t)              # I diff the function
ode = sym.Eq(f, -k * y(t))    # I define the diff eq.
resolve = sym.dsolve(ode, y(t))

ode_function_lam = lambdify(t, resolve.rhs, 'numpy')

x_value = np.linspace(1, 24)
y_value = ode_function_lam(x_value)

plt.plot(x_value, y_value)
plt.show()

` 我得到了错误:

AttributeError:“ Mul”对象没有属性“ exp” ....

TypeError:ufunc循环不支持没有可调用exp方法的Mul类型的参数0

0 个答案:

没有答案