微分方程建模
模型找教材,建模找例题,求解有例程,讨论有套路,论文够档次。
微分方程数值解法
思想:把时间和空间离散化,然后将微分化为差分,建立递推关系,然后反复进行迭代计算,得到任意时间和空间的值。
工具选择
常微分方程编程步骤
odeint()
求数值解
一阶常微分方程(组)
式中的 y 在常微分方程中是标量,在常微分方程组中是数组向量。
1 | # 1. 求解微分方程初值问题(scipy.integrate.odeint) |
1 | #定义导数函数,求W=[x,y,z]点的导数 |
odeint()
1 | # 2. 求解微分方程组初值问题(scipy.integrate.odeint) |
令:
引入变量
1 | # 3. 求解二阶微分方程初值问题(scipy.integrate.odeint) |
基本模型
Malthus模型
S型曲线,与现实不符,基本用不上(x
Logistic模型
就是高中那个S型曲线,由Malthus模型修改而来,在模型中增加一个竞争项
从统计学来看,选取竞争项为
代码实现
1 | def logistic_Increase_Model(t,K,P0,r): |
1 | #到时候更改数据即可 |
高斯拟合例程代码:
1 | import numpy as np |