常微分方程

高数中的微分方程

全微分方程(需要积分域与路径无关)

一阶线性常微分方程 y’+p(x)y=q(x)

对于一阶线性常微分方程,常用的方法是常数变易法:
对于方程:将y’+p(x)y=0中的常数变为函数求解非齐次方程

( ∫ q ( x ) ∗ e ∫ p ( x ) d x + c ) e ∫ − p ( x ) d x (\int q(x)*e^{ \int p(x)dx}+c)e^{ \int -p(x)dx} (q(x)ep(x)dx+c)ep(x)dx

全微分方乘与积分因子法

微分方程P(x,y)dx+Q(x,y)dy=0为全微分方程的重要条件为
∂ P ∂ y = ∂ Q ∂ x \frac { \partial P } { \partial y }=\frac { \partial Q } { \partial x } yP=xQ
如果存在 φ(x,y)使得
φ P d x + φ Q = 0 \varphi Pdx+\varphi Q=0 φPdx+φQ=0
为全微分方程,则将φ(x,y)称为方程的积分因子
∂ ( φ ∗ P ) ∂ y = φ ∂ ( φ ∗ Q ) ∂ x \frac {\partial (φ *P) } { \partial y }=\frac {φ \partial (φ *Q) } { \partial x } y(φP)=xφ(φQ)

Pdx+Qdy=0 什么情况下存在积分因子,如何确定积分因子?

1. 1 Q ( ∂ P ∂ y − ∂ Q ∂ x ) = μ ( x ) [ 只 与 x 有 关 ] \frac { 1 } { Q }( \frac { \partial P } { \partial y }-\frac { \partial Q } { \partial x })=μ(x)[只与x有关] Q1(yPxQ)=μ(x)[x]
则方程的积分因子 φ = φ ( x ) = e ∫ μ ( x ) d x φ=φ(x)=e^{\int μ(x) dx} φ=φ(x)=eμ(x)dx
2. − 1 P ( ∂ P ∂ y − ∂ Q ∂ x ) = μ ( y ) [ 只 与 y 有 关 ] -\frac { 1 } { P }( \frac { \partial P } { \partial y }-\frac { \partial Q } { \partial x })=μ(y)[只与y有关] P1(yPxQ)=μ(y)[y]
则方程的积分因子 φ = φ ( y ) = e ∫ μ ( y ) d y φ=φ(y)=e^{\int μ(y) dy} φ=φ(y)=eμ(y)dy

3.若φ(x,y)为
P(x,y)dx + Q(x,y)dy= 0的一个积分因子,并且φP(x, y)dx + φQ(x,y)dy = du(x,y),
则φ(x,y)F(u)也为方程(*)的一一个积分因子,其中F(u)是u的任一连续可微函数.

应用.如果P(x,y)dx + Q(x,y)dy= 0的积分因子不好确定,而其中p=P1+P2, Q=Q1+Q2,则上
式可写成
( P r d x + Q 1 d y ) + ( P 2 d x + Q z d y ) = 0 (Prdx + Q1dy) + (P2dx+ Qzdy)= 0 (Prdx+Q1dy)+(P2dx+Qzdy)=0
分别求出两组的积分因子,即存在φ1,φ2使得P1P1dx + P1Q1dy = du1,P2P2dx + φzQzdy = du2.

寻找公共的积分因子

φ 1 ∗ F 1 ( u 1 ) = φ 2 ∗ F 2 ( u 2 ) φ1*F1(u1)= φ2*F2(u2) φ1F1(u1)=φ2F2(u2)

二阶常系数齐次常微分方程

解的形式: g ( x ) e f ( x ) g(x)e^{f(x)} g(x)ef(x)

n阶常系数常微分方程第“0”定律:

f ( x ) 为 正 比 例 函 数 f(x)为正比例函数 f(x)
注:这个第“0”定律是本文作者命名的

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

对于二阶常系数齐次常微分方程,有两个线性无关的特解

二阶常系数齐次常微分方程: y = e r x y=e^{rx} y=erx
当特征方程有
两个不同实根时:
两 解 线 性 无 关 两解线性无关 线
两个相同实根时:
两 解 线 性 相 关 , 设 y 2 y 1 = u ( x ) , 带 入 得 u ′ ′ = 0 , 则 u ( x ) = k x 两解线性相关,设\frac{y2}{y1}=u(x),带入得u''=0,则u(x)=kx 线y1y2=u(x),u=0u(x)=kx
两个不同复根时:
r = α ± β i , 两 解 线 性 无 关 解 为 : e α x ( C 1 c o s ( β x ) + C 2 s i n ( β x ) ) r=α±βi,两解线性无关 解为:e^{αx}(C_{1}cos(βx)+C_{2}sin(βx)) r=α±βi线eαx(C1cos(βx)+C2sin(βx))

二阶常系数非齐次常微分方程

1) f ( x ) = P m ( x ) ∗ e λ x f(x)=P_{m}(x)*e^{\lambda x} f(x)=Pm(x)eλx

解为: y = x k ∗ Q m ( x ) ∗ e λ x ( k 是 非 齐 次 项 的 λ 作 为 特 征 方 程 的 根 的 重 数 ( 0 / 1 / 2 ) ) y=x^k*Q_{m}(x)*e^{\lambda x}(k是非齐次项的 \lambda 作为特征方程的根的重数(0/1/2)) y=xkQm(x)eλx(kλ(0/1/2))

2) f ( x ) = P l ( x ) ∗ e α x ∗ c o s ( β x ) + P n ( x ) ∗ e α x ∗ s i n ( β x ) f(x)=P_{l}(x)*e^{αx}*cos(βx)+P_{n}(x)*e^{αx}*sin(βx) f(x)=Pl(x)eαxcos(βx)+Pn(x)eαxsin(βx)

解为: y = x k ∗ e a x ∗ ( R 1 m c o s ( β x ) + R 2 m s i n ( β x ) ) ( k 是 α ± β i x 作 为 特 征 方 程 的 根 的 重 数 ( 0 / 1 ) ) ( m = m a x ( l , n ) ) m 取 大 值 y=x^k*e^{ax}*(R_{1m}cos(βx)+R_{2m}sin(βx)) (k是 α±βi x作为特征方程的根的重数(0/1))(m=max(l,n)) \\ m取大值 y=xkeax(R1mcos(βx)+R2msin(βx))(kα±βix(0/1))(m=max(ln))m

∗ ∗ 注 意 多 了 一 个 x k ∗ ∗ **注意多了一个x^k** xk


有些特殊的变系数线性常微分方程,则可以通过变量代换化为常系数线性微分方程


二阶可降阶微分方程(二阶降到一阶):将y’用其他变量替换即可降一阶。(要保持只有两个变量,所以只能适用于y’’=f(x,y’)形式或者f(y,y’)形势)

伯努利微分方程

y’+P(x)y=Q(x)y^n的微分方程
其中n≠0并且n≠1,其中P(x),Q(x)为已知函数,因为当n=0,1时该方程是线性微分方程。
令z=y^{1-n}转化为一阶线性常微分方程

欧拉方程

x n ∗ y ( n ) + P 1 ∗ x n − 1 ∗ y ( n − 1 ) + … … + P n − 1 ∗ x n − 1 ∗ y ( 1 ) + P n ∗ x n − n ∗ y ( 1 ) = f ( x ) x ^ { n }*y^{(n)}+P_{1}*x ^ { n-1}*y^{(n-1)}+……+P_{n-1}*x ^ { n-1}*y^{(1)}+P_{n}*x ^ { n-n}*y^{(1)}=f(x) xny(n)+P1xn1y(n1)++Pn1xn1y(1)+Pnxnny(1)=f(x)
n阶线性变系数非齐次
x = e t , 有 x 1 ∗ y ( 1 ) = D y , 记 号 D 表 示 对 t 求 导 的 运 算 x=e^t,有x ^ { 1}*y^{(1)}= Dy,记号D表示对t求导的运算 x=et,x1y(1)=DyDt
一 般 地 , 有 x k ∗ y ( k ) = D ( D − 1 ) . . . ( D − k + 1 ) y 一般地,有x ^ { k}*y^{(k)}= D(D- 1)...(D-k+ 1)y xky(k)=D(D1)...(Dk+1)y

把它代入欧拉方程,便得到一个以t为自变量的n阶常系数非齐次线性微分方程。
解法和二阶的方法一样,先求其次通解,再根据右端项求特解。
在求出这个方程的解后,把t换成 lnx ,即得原方程的解。

参考:
https://na.mbd.baidu.com/r/adrv9xXNAI?f=cp&u=f1f63e03e43635b1

  • 11
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python常微分方程求解可以使用SciPy库中的odeint函数。odeint函数可以用于求解一阶常微分方程组。在使用odeint函数之前,我们需要将一阶常微分方程组转化为标准形式dy/dx = f(x, y)。其中f(x, y)表示方程右侧的函数表达式。 首先,我们需要导入相应的库并定义需要求解的一阶常微分方程组。假设我们要求解的方程组为dy/dx = f(x, y),其中f(x, y)是x和y的函数。接下来,我们需要定义初始条件,即y(x0)=y0。 然后,我们可以使用SciPy库的odeint函数进行求解。odeint函数的输入参数包括常微分方程组的函数f,初始条件y0,以及一个x的数组作为求解的区间。 最后,我们可以得到方程组的数值解。这个数值解可以用于绘制方程组的函数图像或进行其他进一步的分析。 下面是一个使用odeint函数求解一阶常微分方程组的示例代码: ```python import numpy as np from scipy.integrate import odeint def f(y, x): # 定义常微分方程组的函数f(x, y) return ... y0 = ... x = np.linspace(x0, x1, num_points) # 定义求解的区间和步长 y = odeint(f, y0, x) # 求解方程组 # 可进一步进行绘图等操作 ``` 以上是使用SciPy库进行常微分方程求解的一种方法。还可以使用其他的Python库,如SymPy等,来求解常微分方程。具体的方法可以根据具体情况选择适合的库和函数进行求解。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值