常微分方程的基本概念

常微分方程的基本概念

讲课内容

一、常微分方程的定义与分类

常微分方程是描述未知函数与其导数之间关系的方程,通常用于表示自然现象中的动态系统。常微分方程可以分为不同的类别。

1.1 常微分方程的定义

常微分方程可以表示为:
F ( x , y , y ′ , y ′ ′ , … , y ( n ) ) = 0 F(x, y, y', y'', \dots, y^{(n)}) = 0 F(x,y,y,y′′,,y(n))=0
其中:

  • x x x 是自变量;
  • y y y 是未知函数;
  • y ′ , y ′ ′ , … , y ( n ) y', y'', \dots, y^{(n)} y,y′′,,y(n) 是函数 y y y 关于 x x x 的导数。
1.2 初值问题与边值问题
  • 初值问题:给定方程及其在某个初始点(通常是 x = x 0 x = x_0 x=x0)上的函数值或导数值,要求求解该方程。
    y ′ ( x ) = f ( x , y ) , y ( x 0 ) = y 0 y'(x) = f(x, y), \quad y(x_0) = y_0 y(x)=f(x,y),y(x0)=y0
    例如,已知方程 y ′ ( x ) = − 2 y ( x ) y'(x) = -2y(x) y(x)=2y(x) 且初始条件为 y ( 0 ) = 1 y(0) = 1 y(0)=1,要求求解该常微分方程。

  • 边值问题:给定方程及其在区间两端的边值,要求求解方程。通常出现在描述空间或物理系统的问题中。

1.3 线性与非线性方程
  • 线性常微分方程:如果方程中的未知函数及其导数只以一次项出现,并且系数是已知的常数或已知函数,那么该方程是线性的。例如:
    y ′ ′ ( x ) + p ( x ) y ′ ( x ) + q ( x ) y ( x ) = g ( x ) y''(x) + p(x)y'(x) + q(x)y(x) = g(x) y′′(x)+p(x)y(x)+q(x)y(x)=g(x)

  • 非线性常微分方程:如果方程中的未知函数及其导数的幂次大于1或出现未知函数的乘积项,则该方程为非线性的。例如:
    y ′ ′ ( x ) + y ( x ) 2 = 0 y''(x) + y(x)^2 = 0 y′′(x)+y(x)2=0

1.4 方程的阶数和阶次

常微分方程的阶数指的是方程中最高阶导数的阶数。比如,对于方程 y ′ ′ ( x ) + y ′ ( x ) + y ( x ) = 0 y''(x) + y'(x) + y(x) = 0 y′′(x)+y(x)+y(x)=0,它的阶数是2。

1.5 解的存在性与唯一性
  • 解的存在性定理:常微分方程的解是否存在,取决于初始条件和方程的性质。皮卡-林德勒夫定理给出了关于解存在性的条件:
    如果方程满足Lipschitz条件,那么解在某个区间内是存在的。

  • 解的唯一性定理:对于给定的初值问题,解不仅要存在,而且应该是唯一的。皮卡-林德勒夫定理也给出了唯一性条件。

1.6 例子与计算

我们将通过一个简单的例子来演示如何解决常微分方程。

例子 1: 求解初值问题 y ′ ( x ) = − 2 y ( x ) , y ( 0 ) = 1 y'(x) = -2y(x), y(0) = 1 y(x)=2y(x),y(0)=1

步骤:

  1. 通过分离变量法,将方程转化为:
    d y y = − 2 d x \frac{dy}{y} = -2dx ydy=2dx
  2. 对两边积分:
    ln ⁡ ∣ y ∣ = − 2 x + C \ln|y| = -2x + C lny=2x+C
  3. 解得:
    y ( x ) = C e − 2 x y(x) = Ce^{-2x} y(x)=Ce2x
  4. 根据初始条件 y ( 0 ) = 1 y(0) = 1 y(0)=1,求得 C = 1 C = 1 C=1,因此解为:
    y ( x ) = e − 2 x y(x) = e^{-2x} y(x)=e2x

课堂活动

活动 1:初值问题的求解

任务:通过分离变量法,求解初值问题 y ′ ( x ) = 3 y ( x ) , y ( 0 ) = 2 y'(x) = 3y(x), y(0) = 2 y(x)=3y(x),y(0)=2

步骤:

  1. 写出方程:
    y ′ ( x ) = 3 y ( x ) y'(x) = 3y(x) y(x)=3y(x)
  2. 分离变量,得到:
    d y y = 3 d x \frac{dy}{y} = 3dx ydy=3dx
  3. 对两边积分:
    ln ⁡ ∣ y ∣ = 3 x + C \ln|y| = 3x + C lny=3x+C
  4. 取指数,得到:
    y ( x ) = C e 3 x y(x) = Ce^{3x} y(x)=Ce3x
  5. 根据初始条件 y ( 0 ) = 2 y(0) = 2 y(0)=2,得到:
    C = 2 C = 2 C=2
    所以解为:
    y ( x ) = 2 e 3 x y(x) = 2e^{3x} y(x)=2e3x
活动 2:边值问题的求解

任务:求解边值问题 y ′ ′ ( x ) − 4 y ( x ) = 0 y''(x) - 4y(x) = 0 y′′(x)4y(x)=0 在区间 [ 0 , π ] [0, \pi] [0,π] 上的解,满足边值条件 y ( 0 ) = 0 , y ( π ) = 0 y(0) = 0, y(\pi) = 0 y(0)=0,y(π)=0

步骤:

  1. 假设解的形式为 y ( x ) = e r x y(x) = e^{rx} y(x)=erx
  2. 代入方程 y ′ ′ ( x ) − 4 y ( x ) = 0 y''(x) - 4y(x) = 0 y′′(x)4y(x)=0,得到特征方程:
    r 2 − 4 = 0 r^2 - 4 = 0 r24=0
  3. 解得 r = 2 r = 2 r=2 r = − 2 r = -2 r=2,所以通解为:
    y ( x ) = A e 2 x + B e − 2 x y(x) = A e^{2x} + B e^{-2x} y(x)=Ae2x+Be2x
  4. 代入边值条件 y ( 0 ) = 0 y(0) = 0 y(0)=0,得到 A + B = 0 A + B = 0 A+B=0,即 B = − A B = -A B=A
  5. 代入边值条件 y ( π ) = 0 y(\pi) = 0 y(π)=0,得到:
    A e 2 π + ( − A ) e − 2 π = 0 A e^{2\pi} + (-A) e^{-2\pi} = 0 Ae2π+(A)e2π=0
    这给出了 A = 0 A = 0 A=0,所以解为:
    y ( x ) = 0 y(x) = 0 y(x)=0

Python 代码实现示例

1. 解初值问题 y ′ ( x ) = − 2 y ( x ) , y ( 0 ) = 1 y'(x) = -2y(x), y(0) = 1 y(x)=2y(x),y(0)=1
import numpy as np
import matplotlib.pyplot as plt

# 定义方程
def dydx(x, y):
    return -2 * y

# 初始条件
y0 = 1
x0 = 0
x_values = np.linspace(0, 5, 100)

# 使用odeint解常微分方程
from scipy.integrate import odeint
y_values = odeint(dydx, y0, x_values)

# 绘制图像
plt.plot(x_values, y_values, label='y(x) = e^(-2x)')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Solution to y\'(x) = -2y(x), y(0) = 1')
plt.legend()
plt.show()
2. 解边值问题 y ′ ′ ( x ) − 4 y ( x ) = 0 y''(x) - 4y(x) = 0 y′′(x)4y(x)=0 进行求解
from scipy.integrate import solve_bvp

# 定义常微分方程
def fun(x, y):
    return np.vstack((y[1], 4 * y[0]))

# 边值条件
def bc(ya, yb):
    return np.array([ya[0], yb[0]])

# 网格和初值
x = np.linspace(0, np.pi, 100)
y_init = np.zeros((2, x.size))
y_init[0] = np.sin(x)

# 使用solve_bvp求解
solution = solve_bvp(fun, bc, x, y_init)

# 绘制解的图像
plt.plot(solution.x, solution.y[0], label='Solution to y\'\'(x) - 4y(x) = 0')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Solution to Boundary Value Problem')
plt.legend()
plt.show()

总结

  • 常微分方程是描述自然现象的数学工具,通常通过初值问题或边值问题来求解。
  • 解的存在性与唯一性保证了解的合理性,常常借助皮卡-林德勒夫定理进行分析。
  • 使用Python库(如 odeintsolve_bvp)可以有效地求解常微分方程并绘制解的图像,帮助学生理解微分方程的解决过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值