本节主要介绍分数阶微积分问题求解及应用
主要内容包括:
1. 分数阶微积分的定义与性质;
2. 不同分数阶微积分定义的关系;
3. 分数阶微积分的计算方法;
4. 基于框图的非线性分数阶微分方程近似解法;
5. 分数阶传递函数模型与分析
分数阶微积分理论建立至今已经有 300 年的历史了,但早期主要侧重于理论研究,近年来在很多领域都已经开始应用分数阶微积分学理论,例如在自动控制领域出现了分数阶控制理论等新的分支。本节将介绍分数阶微积分的定义及各种计算方法,并介绍分数阶线性及非线性微分方程的求解方法,还将以分数阶传递函数为例,介绍在 MATLAB 语言下面向对象的编程方法。
用 Grunwald-Letnikov 定义求解分数阶微分。该函数的调用格式为
y1 = glfdiff(y,t,γ) ,其中,y, t 分别为给定函数的采样值与时刻值构成的向量。要求 t 为等间距向量,且 γ 为分数阶导数的阶次,这样得出的 y1 向量为函数的分数阶导数。
Caputo 微积分定义的数值计算,该函数的调用格式为:
y1 = caputo(y,t,α,y0,L)。
对未知信号进行分数阶微分数值运算的一种有效途径是采用Oustaloup 算法设计连续滤波器对信号进行滤波处理。另外,考虑到该滤波器分子和分母阶次一致,可能导致在仿真过程中出现代数环,所以应该在其后面再接一个低通滤波器,将其截止频率设置为ωh,这样可以建立起如图所示的分数阶微分器模块,通过适当选择频段和阶次可以较好地近似分数阶微分的效果。
MATLAB 命令窗口中给出命令 G = fotf(a,na,b,nb,T ) 就可以建立一个分
阶传递函数对象,其中, a=[a1,a2,· · · ,an], b=[b1,b2,··· ,bm], na=[β1,β2,· · · ,βn],nb=[γ1,γ2,··· ,γm] 分别表示分子、分母多项式的系数与阶次向量, T 为延迟常数。若系统不含延迟则可以省去该变元。类似于整数阶传递函数的定义,还可以用 s = fotf('s') 命令来定义一个分数阶式算子 s。依照本函数定义,还可以用G = fotf(k) 命令将常数转换成 FOTF 对象。如果G是控制系统工具箱中的 LTI 对象,则用G = fotf(G) 可以将其转换成 FOTF 对象。