分数阶导数与积分的数学表达与应用
一、基本定义与性质
1. Riemann-Liouville分数阶积分
定义式:
$$
I^\alpha f(t) = \frac{1}{\Gamma(\alpha)} \int_a^t (t-\alpha)^{\alpha-1} f(\tau) d\tau \quad (\alpha>0)
$$
性质:
- 半群性:$\displaystyle I^\alpha I^\beta = I^{\alpha+\beta}$
- 当$\alpha\to n^+$时收敛于n重积分
- 对常数$C$的积分:$\displaystyle I^\alpha C = \frac{C(t-a)^\alpha}{\Gamma(\alpha+1)}$
2. Caputo分数阶导数
定义式:
$$
^C D^\alpha f(t) = \frac{1}{\Gamma(m-\alpha)} \int_a^t \frac{f^{(m)}(\tau)}{(t-\tau)^{\alpha+1-m}} d\tau
$$
其中$m-1 < \alpha \leq m$, $m\in\mathbb{N}$
优势:
- 常数导数为零:$^C D^\alpha C = 0$
- 允许传统初始条件:$\displaystyle f(a), f’(a),…,f^{(m-1)}(a)$
3. Grünwald-Letnikov定义
离散形式:
$$
D^\alpha f(t) = \lim_{h\to 0} h^{-\alpha} \sum_{k=0}^{[(t-a)/h]} (-1)^k \binom{\alpha}{k} f(t-kh)
$$
权重系数递推:
$$
w_0^{(\alpha)} = 1, \quad w_k^{(\alpha)} = \left(1-\frac{\alpha+1}{k}\right)w_{k-1}^{(\alpha)}
$$
本文我们主要关注Riemann-Liouville 分数阶积分与分数阶导数的性质
二、Riemann-Liouville 分数阶积分与分数阶导数的关系推导
1. Riemann-Liouville 分数阶积分的定义
设函数 $f(t)$ 在区间 $[a, t]$ 上定义,阶数 $\alpha > 0 $,则 Riemann-Liouville 左侧分数阶积分 定义为:
$$
I^\alpha f(t) = \frac{1}{\Gamma(\alpha)} \int_a^t (t - \tau)^{\alpha - 1} f(\tau) , d\tau,
$$
其中 $\Gamma(\alpha)$ 是 Gamma 函数。
2. Riemann-Liouville 分数阶导数的定义
设 $n = \lceil \alpha \rceil$ 是不小于 $ \alpha $ 的最小整数,则 Riemann-Liouville 分数阶导数 定义为:
$$
D^\alpha f(t) = \frac{d^n}{dt^n} \left( I^{n - \alpha} f(t) \right) = \frac{1}{\Gamma(n - \alpha)} \frac{d^n}{dt^n} \int_a^t (t - \tau)^{n - \alpha - 1} f(\tau) , d\tau.
$$
即:分数阶导数是对分数阶积分的整数阶导数。
3. 从积分推导到导数
设有:
$$
I^\alpha f(t) = \frac{1}{\Gamma(\alpha)} \int_a^t (t - \tau)^{\alpha - 1} f(\tau) , d\tau,
$$
我们希望找到某种操作 $D^\alpha$ 使得:
$$
D^\alpha \left( I^\alpha f(t) \right) = f(t).
$$
使用分数阶导数的定义,我们有:
$$
D^\alpha f(t) = \frac{d^n}{dt^n} \left( I_a^{n - \alpha} f(t) \right),
$$
那么对于 $f(t) = I^\alpha g(t)$,有:
$$
D^\alpha f(t) = D^\alpha \left( I^\alpha g(t) \right) = g(t),
$$
因为:
$$
D^\alpha \left( I^\alpha \right) = \text{Identity operator}.
$$
4. 总结关系
-
分数阶积分是分数阶导数的逆操作:
$$
D^\alpha \left( I^\alpha f(t) \right) = f(t).
$$ -
分数阶导数可以表示为先做积分,再做整数阶导数:
$$
D^\alpha f(t) = \frac{d^n}{dt^n} \left( I^{n - \alpha} f(t) \right),
$$
其中 $n = \lceil \alpha \rceil$。
5. 特殊情况举例 $( 0 < \alpha < 1 )$
当 $0 < \alpha < 1$ 时,有:
-
分数阶积分:
$$
I^\alpha f(t) = \frac{1}{\Gamma(\alpha)} \int_a^t (t - \tau)^{\alpha - 1} f(\tau) , d\tau.
$$ -
分数阶导数:
$$
D^\alpha f(t) = \frac{d}{dt} \left( \frac{1}{\Gamma(1 - \alpha)} \int_a^t (t - \tau)^{-\alpha} f(\tau) , d\tau \right).
$$
6. 结论
Riemann-Liouville 分数阶导数与积分之间的本质关系是:
$$
D^\alpha = \frac{d^n}{dt^n} \circ I^{n - \alpha},
$$
也即:
- 分数阶导数 = 整数阶导数 ∘ 分数阶积分;
- 分数阶积分 = 分数阶导数的逆操作。
三、重要数学特性
1. 非局部性证明
对于任意$t>a$:
$$
D^\alpha f(t) = \frac{d^n}{dt^n}\left[\frac{1}{\Gamma(n-\alpha)} \int_a^t \frac{f(\tau)}{(t-\tau)^{\alpha+1-n}} d\tau\right]
$$
其中$n=\lceil\alpha\rceil$
2. Leibniz法则推广
$$
D^\alpha(fg) = \sum_{k=0}^\infty \binom{\alpha}{k} (D^{\alpha-k}f) D^k g
$$
3. Laplace变换关系
$$
\mathcal{L}{^C D^\alpha f(t)} = s^\alpha F(s) - \sum_{k=0}^{m-1} s^{\alpha-k-1} f^{(k)}(0^+)
$$
四、数值实现方法
1. 分数阶微积分的离散化方案
Grunwald-Letnikov改进格式:
$$
D^\alpha f(t_n) \approx \frac{1}{h^\alpha} \sum_{k=0}^{n} w_k^{(\alpha)} f(t_{n-k}) + \mathcal{O}(h^p)
$$
其中$p$为精度阶数,权重系数满足:
$$
w_0^{(\alpha)} = 1, \quad w_k^{(\alpha)} = \left(1-\frac{\alpha+1}{k}\right)w_{k-1}^{(\alpha)}
$$
2. 短记忆原理实现
MATLAB代码示例:
1 | function [dy] = fgl_deriv(a, y, h, L) |
3. 分数阶微分方程求解器
3.1 Predictor-Corrector算法完整推导
对于分数阶初值问题:
$$
\begin{cases}
^C D^\alpha_t y(t) = f(t,y(t)), \quad 0 < \alpha < 1 \
y(0) = y_0
\end{cases}
$$
离散化步骤:
-
分数阶积分近似:
$$
y(t_{n+1}) = y_0 + \frac{1}{\Gamma(\alpha)} \int_0^{t_{n+1}} (t_{n+1}-\tau)^{\alpha-1} f(\tau,y(\tau)) d\tau
$$ -
预测项计算:
$$
y^{P}{n+1} = y_0 + \frac{h^\alpha}{\Gamma(\alpha+1)} \sum{j=0}^n b_{j,n+1} f(t_j,y_j)
$$
其中权重系数:
$$
b_{j,n+1} = (n+1-j)^\alpha - (n-j)^\alpha
$$ -
校正项计算:
$$
y_{n+1} = y_0 + \frac{h^\alpha}{\Gamma(\alpha+2)} \left[ f(t_{n+1},y^{P}{n+1}) + \sum{j=0}^n a_{j,n+1} f(t_j,y_j) \right]
$$
校正权重:
$$
a_{j,n+1} =
\begin{cases}
n^{\alpha+1} - (n-\alpha)(n+1)^\alpha, & j=0 \
(n-j+2)^{\alpha+1} + (n-j)^{\alpha+1} - 2(n-j+1)^{\alpha+1}, & 1 \leq j \leq n \
1, & j=n+1
\end{cases}
$$
3.2 Python实现代码
1 | import numpy as np |
3.3 收敛性分析
理论误差界
对于分数阶微分方程:
$$
{}^C D^\alpha y(t) = f(t, y(t)), \quad y(0) = y_0
$$
Predictor-Corrector 方法的全局误差为:
$$
\max_{0 \leq t_n \leq T} |y(t_n) - y_n| \leq C \cdot h^{\min{2,1+\alpha}}
$$
其中:
- $C$ 依赖于 $\alpha$、$f$ 的 Lipschitz 常数和终态时间 $T$。
- 当 $\alpha \to 1^-$,收敛阶趋近于 2(与经典 ODE 一致)。
数值验证实验
测试方程:
$$
{}^C D^{0.6} y(t) = \frac{\Gamma(4)}{\Gamma(3.4)} t^{2.4} - y(t), \quad y(0) = 0
$$
解析解:
$$
y(t) = t^3 - \frac{\Gamma(4)}{\Gamma(3.4)} \int_0^t (t - \tau)^{2.4} \tau^3 , d\tau
$$
python误差计算代码
1 | import numpy as np |
高阶方法扩展(Adams 型)
对于更高精度需求,可采用 分数阶 Adams-Bashforth-Moulton (ABM) 方法:
Predictor:
$$
y_{n+1}^P = y_0 + \frac{h^\alpha}{\Gamma(\alpha)} \sum_{j=0}^{n} b_{j,n+1} f(t_j, y_j)
$$
Corrector:
$$
y_{n+1} = y_0 + \frac{h^\alpha}{\Gamma(\alpha + 2)} \left[ f(t_{n+1}, y_{n+1}^P) + \sum_{j=0}^{n} a_{j,n+1} f(t_j, y_j) \right]
$$
其中权重系数:
$$
b_{j,n+1} = \frac{(n+1 - j)^\alpha - (n - j)^\alpha}{\alpha}
$$
$$
a_{j,n+1} = \frac{(n - j + 2)^{\alpha + 1} - 2(n - j + 1)^{\alpha + 1} + (n - j)^{\alpha + 1}}{\alpha + 1}
$$
python实现代码
1 | def frac_abm_solver(f, alpha, y0, t_span, h, corrector_steps=2): |
3.4 改进算法变体
自适应步长控制
通过局部误差估计:
$$
\epsilon_{n+1} \approx \frac{\Gamma(\alpha + 2)}{h^\alpha} \left| y_{n+1} - y_{n+1}^P \right|
$$
步长调整策略:
$$
h_{\text{new}} = 0.9 h_{\text{old}} \left( \frac{\tau}{\epsilon_{n+1}} \right)^{\frac{1}{1 + \alpha}}
$$
高阶修正格式
采用加权 Grünwald 近似:
$$
D^\alpha y(t_n) \approx \frac{1}{h^\alpha} \sum_{k=0}^n w_k^{(\alpha)} y_{n-k} + \frac{1}{h^\alpha} \sum_{k=1}^p c_k \Delta^k y_n
$$
其中 $c_k$ 为修正系数,$\Delta^k$ 为阶差分算子。
差分算子 $\Delta^k$
$$
\Delta^k y_n = \sum_{i = 0}^{k} (-1)^i \binom{k}{i} y_{n - i}
$$
修正系数 $c_k$
$$
c_k = \frac{(-1)^k}{k!} \prod_{j = 1}^{k} (\alpha - j + 1)
$$
MATLAB高阶实现
1 | function [t, y] = high_order_frac_solver(f, alpha, y0, t_span, h, p) |
3.5 刚性系统处理
隐式格式的牛顿迭代法
- 隐式方程
$$
y_{n + 1} = y_0 + \frac{h^{\alpha}}{\Gamma(\alpha + 2)} \left[ f(t_{n + 1}, y_{n + 1}) + \sum_{j = 0}^{n} a_{j, n + 1} f(t_j, y_j) \right]
$$ - 牛顿迭代步骤
$$
y_{n + 1}^{(k + 1)} = y_{n + 1}^{(k)} - \left[ I - \frac{h^{\alpha}}{\Gamma(\alpha + 2)} J_f(t_{n + 1}, y_{n + 1}^{(k)}) \right]^{-1} \cdot \text{Residual}
$$
其中 $J_f$ 为 Jacobi 矩阵。
python刚性系统求解
1 | def implicit_frac_solver(f, jacobian, alpha, y0, t_span, h, max_iter=10, tol=1e-8): |
理论分析
1. 稳定性
- 隐式格式对刚性系统的稳定性优于显式格式,稳定区域覆盖整个负半平面。
2. 计算复杂度
方法 | 每步计算量 | 适用场景 |
---|---|---|
自适应步长 | $O(n)$ | 非光滑解 |
高阶修正 | $O(n + p^2)$ | 高精度需求 |
隐式迭代 | $O(n \cdot d^3)$ | 刚性系统 ($d$ 为维数) |
3. 收敛性
$$
| y(t_n) - y_n | \leq C \cdot \left( h^{\min{2, 1 + \alpha}} + \tau \right)
$$
其中 $\tau$ 为牛顿迭代容差。
五、典型应用案例
1. 异常扩散建模
时间分数阶扩散方程:
$$
\frac{\partial^\gamma u}{\partial t^\gamma} = K_\gamma \frac{\partial^2 u}{\partial x^2}, \quad 0<\gamma<1
$$
解析解:
$$
u(x,t) = \frac{1}{2\sqrt{K_\gamma t^\gamma}} M_{1-\gamma/2}\left(\frac{|x|}{\sqrt{K_\gamma t^\gamma}}\right)
$$
其中$M_\beta(z)$是Wright函数。
2. 粘弹性材料本构关系
分数阶Kelvin-Voigt模型:
$$
\sigma(t) = E_\infty \epsilon(t) + E_\alpha D^\alpha \epsilon(t)
$$
3. 锂电池状态估计
分数阶等效电路模型:
$$
D^\alpha U_{oc}(t) = \frac{I(t)}{C} + R D^\beta I(t)
$$
参数辨识算法:
1 | def fode_identify(data, alpha_range, beta_range): |