Chihirotlmt 发表于 2023-12-7 22:54:11

用python代码怎么解决这道题

解微分方程问题1: 求下面微分方程的数值解, y(0)= 1,y'(0) = 1
y " -2y'+3y= x sin x
问题2: 求下面微分方程在区间上的数值解,方程初值为y(0) =1
y' +y² = 2x² +6

FishC 发表于 2023-12-7 22:54:39

问题1可以使用Python的数值计算库NumPy和SciPy来解决。可以使用Euler法或者其他更高级的数值方法来求解微分方程。以下是使用SciPy中的odeint函数来求解的示例代码:

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def dy_dx(y, x):
    return , 2*y-3*y+x*np.sin(x)]

x = np.linspace(0, 10, 100)
y_init = # 初值 y(0)=1, y'(0)=1
y = odeint(dy_dx, y_init, x)

plt.plot(x, y[:, 0], label='y')
plt.plot(x, y[:, 1], label="y'")
plt.legend()
plt.show()

问题2同样可以使用SciPy中的odeint函数来求解。以下是使用odeint函数求解的示例代码:

import numpy as np
from scipy.integrate import odeint
import matplotlib.pyplot as plt

def dy_dx(y, x):
    return **2]

x = np.linspace(0, 10, 100)
y_init =
y = odeint(dy_dx, y_init, x)

plt.plot(x, y)
plt.show()

这些代码可以通过安装SciPy库来运行。如果你还没有安装,可以使用pip install scipy 命令进行安装。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 用python代码怎么解决这道题