小编HH6*_*624的帖子

用scipy在python中求解二维微分方程

我是python的新手。我有一个简单的微分系统,它由两个变量和两个微分方程和初始条件组成x0=1, y0=2

dx/dt=6*y
dy/dt=(2t-3x)/4y
Run Code Online (Sandbox Code Playgroud)

现在我正在尝试解决这两个微分方程,我选择odeint. 这是我的代码:

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

def func(z,b):
    x, y=z
    return [6*y, (b-3*x)/(4*y)]    

z0=[1,2]
t = np.linspace(0,10,11)
b=2*t
xx=odeint(func, z0, b)
pl.figure(1)
pl.plot(t, xx[:,0])
pl.legend()
pl.show()
Run Code Online (Sandbox Code Playgroud)

但结果不正确,并出现错误信息:

在此处输入图片说明

Excess work done on this call (perhaps wrong Dfun type).
Run with full_output = 1 to get quantitative information.
Run Code Online (Sandbox Code Playgroud)

我不知道我的代码有什么问题,我该如何解决。任何帮助都会对我有用。

python scipy ode

2
推荐指数
1
解决办法
6797
查看次数

标签 统计

ode ×1

python ×1

scipy ×1