当前位置: 代码迷 >> 综合 >> 用Python学《微积分B》(微分方程)
  详细解决方案

用Python学《微积分B》(微分方程)

热度:48   发布时间:2024-01-09 07:06:53.0


??什么是微分方程(Differential Equation)?微分方程有什么用?如何解微分方程?这是本节需要重点理解的问题。


一、微分方程简介


??除了wiki,在math is fun上搜索“differential equation”,可以找到几个关于“微分方程”的话题。这些话题对微分方程的介绍非常有趣,在此借用它们来阐述我对微分方程的理解。
1,什么是微分方程
??联系函数及其导函数的方程就是微分方程,例如:

y+dydx=5x

2,微分方程有什么用
??一句话:微分方程就是用来求出函数关系的。怎么理解呢?
??在实际工程应用中,我们有时候并不能直接找出两个物理量(y-x)的函数关系,但是我们可以很轻易地找出它们之间的变化关系( dydx d2ydx2 )。此时,我们可以先将它们之间的变化关系列出一个方程,这就是“微分方程”,然后通过求解这个微分方程,得出它们之间的函数关系。
3,微分方程的基本概念
??举个例子:列出在平直线路上以 20m/s (相当于72km/h)的速度行驶;当制动时列车获得加速度 ?0.4m/s2 。 问开始制动后多少时间列出才能停住以及列车在这段时间里行驶了多少路程?
分析:本题要求时间 t 和路程 s ,而已知的是速度 dsdt 和加速度 d2sdt2
解:先列加速度方程
d2sdt2=?0.4

升维(降阶),两边同时做不定积分
dsdt=(?0.4)dt=?0.4t+C1

再次升维(降阶)
s=(?0.4t+C1)dt=?0.4t2+C1t+C2

通过上面的两次不定积分,已经找到了 s-t 之间的函数关系。但是这个函数关系不是一条曲线,而是无穷多条曲线,即“曲线族”“函数族”。现在我们需要做得是通过一些“已知点”(也称为“初始值”)从曲线族中筛选出符合我们需要的那条曲线。
这个例子中,有两个初始值和一个终止值:
s0=0,v0=20,vf=0

先将 t=0,v0=20 代入速度方程,解出
C1=20,v=?0.4t+20

再将 t=0,s0=0 代入后面那个方法,解出
C2=0,