分数阶微分方程数值解的一种逼近方法.
- 格式:doc
- 大小:2.36 MB
- 文档页数:15
分数阶偏微分方程的数值解及基本解
就数值解和基本解而言,分数阶偏微分方程是一类特殊的微分方程,它出现在运动学、热
力学、非线性动力学等许多应用领域中。
它的特殊性在于,它的解可以在数值上进行求解。
分数阶偏微分方程的数值解通常由Meyer族的一个方法来实现,它具有准确性和稳定性,
具有易于操作等优势。
该方法可以解决更复杂的分数阶偏微分方程,并且只需要较少的计
算量,节省计算机资源。
基本解是指分数阶偏微分方程的特殊解,它是一种满足特定条件的解。
基本解有利于求解
分数阶偏微分方程,但它无法求解所有的分数阶偏微分方程,可能需要对该方程进行适当
的变形才能求解。
总之,解决分数阶偏微分方程的数值解和基本解是一种有效的方法,广泛应用于经济、工
程及技术学科领域,为科学技术的发展做出了重要贡献。
《基于Bernstein多项式求五类变分数阶微分方程的数值解》篇一一、引言随着科学技术的发展,变分数阶微分方程在物理、工程、生物等领域的应用越来越广泛。
然而,由于变分数阶微分方程的复杂性,其求解变得非常困难。
近年来,Bernstein多项式作为一种有效的数值逼近方法,被广泛应用于各类微分方程的求解。
本文旨在利用Bernstein多项式求解五类变分数阶微分方程的数值解,以期为相关领域的研究提供参考。
二、Bernstein多项式简介Bernstein多项式是一种以Bernstein基函数为基底的多项式,具有许多优良的性质,如局部支撑性、非负性等。
由于其具有良好的逼近性能,被广泛应用于函数逼近、数值积分、微分方程求解等领域。
三、变分数阶微分方程的描述变分数阶微分方程是一类具有分数阶导数的微分方程,其阶数可以是变量。
这类方程在描述复杂系统时具有很高的精度和灵活性。
然而,由于分数阶导数的非局部性质,使得这类方程的求解变得十分困难。
四、基于Bernstein多项式的变分数阶微分方程数值解法针对五类变分数阶微分方程,我们采用Bernstein多项式进行数值求解。
具体步骤如下:1. 将变分数阶微分方程转化为等价的积分方程;2. 利用Bernstein基函数的性质,将积分方程转化为关于Bernstein系数的线性方程组;3. 通过求解线性方程组,得到Bernstein系数的值;4. 利用得到的Bernstein系数,通过Bernstein反演公式,求得原函数的近似解。
五、五类变分数阶微分方程的数值解法实例以五类典型的变分数阶微分方程为例,我们分别采用上述方法进行求解。
通过比较数值解与真实解的误差,验证了该方法的有效性和准确性。
实验结果表明,基于Bernstein多项式的数值解法能够有效地求解变分数阶微分方程,且具有较高的精度。
六、结论本文提出了基于Bernstein多项式的变分数阶微分方程的数值解法。
通过五类典型方程的求解实例,验证了该方法的有效性和准确性。
2021年第06期199课程研究求解微分方程问题的函数逼近法田玲 方小雨成都理工大学 管理科学学院,四川成都6100001 函数逼近问题在数值计算中经常要计算函数值,当函数只在有限点集上给定的函数值时,要在包含该点集的区间上用公式给出函数的简单表达式,这都涉及在区间[a,b]上用简单函数逼近已知复杂函数的问题,这就是函数逼近问题[1,4]。
因此,本文以常微分方程为例,其初值问题的一般形式[3]:2 内在联系及计算公式2.1 与Euler 法、梯形法、Runge-Kutta 的内在联系首先,考虑与一个点一次逼近,采用一次模型P 1(x)=ax+b,有P 1'(x)=a,对x 0处有,那么,这里距离的定义,只考虑与x 0处函数值的比较,只用一个点定义距离。
由此得到:此结果等价于欧拉法。
可见,用函数逼近的方法可以推出欧拉法。
然后考虑两个点的逼近:仍上述采用一次模型,对x 0,x 1处有y 0=P 1(x 0),y 1=P 1(x 1)那么,这里的x 0,x 1两个点定义距离。
同时也得到:此式结果等价于梯形法,可见用函数逼近的方法同样可推出梯形法,同样的,Runge-Kutta 也是函数逼近法的特例。
2.2 显式Euler 法其中Euler 公式(2)的局部阶段误差为:上式说明,Euler 公式是一阶的,因此它的精度不高。
则Euler 法的迭代公式为:2.3 隐式梯形法如果将Euler 公式误差公式进行算术平均,即可消除误差的主要部分 ,从而获得更高的精度。
计算公式为:梯形方法是隐式的,可用Euler 法迭代法求解,则梯形法的迭代公式为2.4 Runge-Kutta 的通用格式适当选择参数c 1,c 2,a 2,b 21使局部截断误差R n+1=0(h 3),满足对上述给定的f(x,y),用Runge-Kutta 法求解常微分方程初值问题。
3 数值试验例题1:对给定的初值形式其精确解为:取h=0.1, 分y(x)=e -2x -2x+1别用显式Euler 法、隐式梯形法、Runge-Kutta 计算数值解与精确解比较。
《基于拟Legendre多项式求解三类分数阶微分方程数值解》篇一一、引言分数阶微分方程在众多领域如物理、工程、生物等均有广泛应用。
近年来,随着对分数阶微分方程研究的深入,其数值解法成为了研究的热点。
拟Legendre多项式作为一种有效的数值逼近方法,在求解分数阶微分方程的数值解方面具有显著的优势。
本文旨在探讨基于拟Legendre多项式求解三类分数阶微分方程的数值解方法,以期为相关领域的研究提供参考。
二、问题描述本文将主要研究以下三类分数阶微分方程的数值解法:1. 线性分数阶微分方程;2. 非线性分数阶微分方程;3. 时变系数分数阶微分方程。
这三类方程在各自的领域中具有广泛的应用,其数值解法的准确性和效率对于实际问题具有重要意义。
三、拟Legendre多项式介绍拟Legendre多项式是一种在区间[-1,1]上具有良好性质的数值逼近方法。
其优点在于能够以较少的项数逼近复杂的函数,同时保持较高的精度。
在求解分数阶微分方程时,拟Legendre多项式可以作为一种有效的基函数,用于构建近似解。
四、数值解法基于拟Legendre多项式的数值解法主要包括以下步骤:1. 将分数阶微分方程转化为等价的积分方程;2. 利用拟Legendre多项式构造近似解的基函数;3. 将近似解表示为基函数的线性组合;4. 通过最小二乘法或伽辽金法等方法求解系数,得到数值解。
五、三类分数阶微分方程的求解1. 线性分数阶微分方程的求解:以经典线性分数阶微分方程为例,通过上述方法求解,并分析拟Legendre多项式的逼近效果和求解精度。
2. 非线性分数阶微分方程的求解:以非线性分数阶微分方程为例,探讨拟Legendre多项式在非线性问题中的适用性,并分析求解过程中的难点和解决方法。
3. 时变系数分数阶微分方程的求解:针对时变系数分数阶微分方程的特点,讨论如何利用拟Legendre多项式进行求解,并分析该方法在时变系数问题中的优势和局限性。
Caputo分数阶导数的L1插值逼近是一种数值计算方法,可以用于求解分数阶微分方程的数值解。
以下是该方法的基本步骤:1. 首先需要定义分数阶导数的Caputo逼近格式,根据Caputo定义,分数阶导数可以用L1插值近似表示。
2. 编写计算分数阶导数的程序,根据计算结果,可以得到分数阶微分方程的数值解。
具体实现可以参考以下代码:```matlabfunction dy = caputo_diff(y, t, alpha, h)% y: 函数值向量% t: 时间向量% alpha: 分数阶导数的阶数% h: 时间步长n = length(t);dy = zeros(n, 1);a = zeros(n, 0);for i = 1:na(i, 1) = (i - 1)^(alpha + 1) / gamma(alpha + 2);for j = i - 1:-1:0a(i, j + 1) = (j + 1)^(alpha + 1) / gamma(alpha + 2) - j^(-alpha + 1) / gamma(2 - alpha + 2);endsum = 0;for k = 1:i - 1sum = sum + (a(i, i - k) - a(i, i - k + 1)) * y(k + 1);enddy(i) = (sum * h^(-alpha) + h^(-alpha) * a(i, 0) * y(1) + gamma(alpha + 1) * (gamma(alpha + 2) / gamma(alpha + 1)) * (t(i + 1)^(alpha + 1) - t(i + 1)^2 - t(i)^2) / (h^(-alpha) - gamma(alpha + 1))) / h^(-alpha);endend```该函数返回一个向量dy,表示分数阶微分方程的数值解。
调用格式为:dy = caputo_diff(y, t, alpha, h)。
分数阶微分方程数值解的一种逼近方法By:Pankaj Kumar, Om Prakash Agrawal摘要本文提出了一类分数阶微分方程(FDEs)的数值解方案.在这种方法中,FDEs 被Caputo型分数阶导数所表现. Caputo型分数阶导数的属性可以让一个分数阶微分方程减弱为一个Volterra型积分方程. 这样做了之后,许多研究Volterra 型积分方程的数值方法也可以应用于寻找FDEs的数值解. 本文总时间被划分为一组小区间,在两个连续区间中,用二次多项式逼近未知函数. 这些近似被替换成转化的Volterra型积分方程由此获得一组方程. 这些方程的解提供了FDE的解. 这种方法被应用于解决两种类型的FDEs,线性和非线性. 用这里给出的方法得到的解能与解析解和其他方法的数值解较好的吻合. 同时结果说明这种数值方法是稳定的.1.引言本文讨论分数阶微分方程的数值解. 分数阶导数和分数阶积分近年来收到了广泛的关注. 在许多实际应用中,分数阶导数和分数阶积分为考虑的系统提供了更加精确地模型. 比如,分数阶导数已经被成功地运用到模拟许多粘性材料的依赖频率的阻尼行为.1980年之前,Bagley 和Torvik提出了这个领域已经被研究的工作的一个回顾,并且说明了半阶导数模型可以非常好地描述阻尼材料的频率以来. 另一些学者说明了分数阶导数和分数阶积分在电化学过程,电解质极化,有色噪声,粘性材料和混沌领域的应用. Mainardi,Rossikhin和Shitikova 提出了分数阶导数和分数阶积分在一般固体力学,特定粘弹性阻尼模型中的应用的调查. Magin提出了分数阶微积分在生物工程的三个关键部分的回顾. 分数阶导数和分数阶积分在其他领域的应用以及相关的数学工具和技巧还可以在许多其他文献上找到.系统模型中分数阶导数的引进大多会导致分数阶微分方程的出现. 对某些特定的分数阶微分方程在通常系统条件下的解,已经有几种方法被找到. 这些方法包括,拉普拉斯变换,傅里叶变换,模态综合法和特征向量展开法,数值法以及基于Laguerre积分公式的方法. 然而,这些方法中大多数不能被应用到非线性分数阶微分方程. 更进一步的,正如Diethelm等人指出的,这些方法很多只能应用到特定类型的分数阶微分方程,并且人们并不知道他们能否被推广. 并且,在很多作者的研究成果中,并没有出现系统性的收敛性分析.最近,对于能被应用到线性和非线性分数阶微分方程的数值稳定数值逼近技巧,人们的兴趣愈发浓厚. 这些方法技巧大多利用了分数阶微分方程可以被减弱为Volterra型积分方程的特性. 因此,Volterra型积分方程的数值解法也可以应用到分数阶微分方程的解当中. Diethelm等人提出了分数阶微分方程数值解的一种PECE方法,其中P,C,E分别代表预测,校正和估计. 这样一来很多学者又推广了应用于常微分方程和分数阶微分方程的Adams–Bashforth–Moulton 型预测-校正格式. 这种方法的提出也是利用分数阶微分方程可以被转化为Volterra型积分方程的特点. 这些作者同时提出了误差分析和用Richardson外推法改善数值精度的延伸. Ford和Simpson提出了一种阶数大于1的分数阶微分方程的数值解法. 在该公式中,阶大于1的分数阶微分方程被减弱为阶小于1的分数阶微分方程,然后用相应的数值解法解由此导出的系统. 在所有这些方法当中,节点之间的未知函数用线性函数逼近. Kumar and Agrawal提出了阶数大于1的分数阶微分方程的数值解法. 这种方法要求就y(t)和它的导数在时间节点上连续.本文基于古典分数阶微分方程可以转化为Volterra型积分方程的特点也提出了一种数值方法来逼近分数阶微分方程的解. 特别地,我们用二次逼近函数来建立这种算法,结果说明这种方法可以被应用到寻求分数阶微分方程的数值解. 我们还通过两个例子,线性和非线性问题的解决,说明了这种方法的高效和准确,并且这种数值方法是稳定的.2.数值算法关于分数阶导数的定义已经出现有好几种,它们包括Riemann–Liouville, Grun-wald–Letnikov, Weyl, Caputo, Marchaud,和Riesz分数阶导数. 这里,我们规定使用Caputo导数.其中,Caputo导数的定义是, (n-1<α<n),(1)其中,α是导数的阶数,n是比α大的最小的整数.式(1)早在19世纪就在Liouville的论文中被提出,在Caputo的论文发表前一年它被Rabotnov所用. 然而,在文献中,被(1)式所定义的分数阶导数作为Caputo导数被广泛认知.在接下来的讨论中,我们考虑含有Caputo导数的初值问题:(2)在初始条件:, k=0,1,...,n-1,(3)下的解,其中,f是任意函数,是y的k阶导数,,k=0,1,…,n-1是指定初值条件. 假设这个函数关于参数和积分区间都是连续的,并且对于它的第二个参数满足Lipschitz条件.在纯数学中,Riemann–Liouville导数比Caputo导数应用更加广泛. 然而,这里考虑Caputo导数是因为以Riemann–Liouville导数为基础的分数阶微分方程要求y(t)在t=0点的导数和积分为0.一般来说,这些条件的物理意义不是已知的,并且在实际应用中,他们是不可用的. Lorenzo and Hartley讨论了寻找在更一般的情况满足下初始条件的正确格式的问题. 在Diethelm and Ford的文章中,方程(2)和(3)被证明可以等价描述为:,(4)其中g(t)为:. (5)为了解释以二次多项式为基础的数值方法,我们假设我要求的是由(2)式定义的分数阶微分方程从0到T的积分. 为了达到这个目的,我们把时间T等分成N 份,令h=T/N,作为时间区间的每一个部分. 时间在网格点上被表示为. 同时假设y(t)的数值逼近值被网格点所决定. 该方法的基本思想是在相邻的两个时间节点和上数值地获取函数y(t)的值,然后重复这个过程来接近所求积分直到取到终点T.为了便于接下来的讨论,我们规定如下记号:, ,这里的方法需要对方程(4)每一步求两次积分值. 这里有两种方法来达成目的.第一种,用一些近似函数逼近y(t),然后用一种数值方法确定式(4)的积分值.这里需要在未知积分的情况下对和作初始的估计. 第二种, 都用近似函数来显式地逼近y(t)和f(t,y(t))以及确定式(4)的积分. 注意在这种情况下,和会作为参数出现在函数f当中. 本文利用的是第二种逼近方法.现在,我们给出算法的详细思路. 首先我们需要确定y(t),,的值. 用二次插值函数可以在区间[0,]上逼近y(t)和f(t,y(t)):(6)以及(7)其中,是函数在第k个时间节点的值,,k=0,1,2是二次插值函数,其中下标(j,k)代表在第j+1,j=0,…,m步的第k个近似函数.我们首先确定y(t)在和处的值. 把(7)式带入(4)式,并积分得到:(8)其中,,(9)可以精确计算得到. 注意式(8)需要知道f在和的值(或者间接地说,y的值). 为了得到,在[,]上把f(t,y(t))近似为:,(10)其中,,是另一个二次插值函数. 函数,k=1,2,3由下式给出,函数由相似的办法定义.把(10)代到(4)中,积分得到:, (11)其中,, (12)可以(9)中一样被精确计算出来. 由(7)可以得到的值为:(13) 这里,我们充分利用了二次多项式的性质. 在非二次多项式的情况下,将会有不同的参数.把(13)代到(11)得到,+, (14)注意到(8)和(14)是关于两个未知量和的方程,可以用Newton–Raphson法,不动点迭代或者其他非线性方法求解. 这里,我们用Newton–Raphson法求解这些非线性方程. 这个方法需要对和作一个初始的估计. 当α大于1, 由t=0处的斜率可以得到关于和的更好的估计. 然而,在这里,对于α>1和α<1我们对把这些变量的初值估计为. 注意在每一次迭代式,时间步长取2h.现在我们假定在处,y的值是已知的,我们要求的是和处的值. 根据以上的逼近方法,和可以被表示为:+, (15)++(16)其中,,k=2m,2m+2,2m+2,,k=2m,2m+1/2,2m+1是和,用同样方法确定的系数. 注意(15),(16)的积分可以被数值确定因为y(t)在,处的值是已知的. 这些方程含有两个未知量和,而他们可以通过Newton–Raphson法得到. 本文中,我们把作为和的初值估计. 这样一来,方程(1)就可以在需要的区间上求积分.作为特殊情况,考虑如下非线性系统:.这种条件下,,式(16)和(15)减弱为:, (17) 其中=, (18)=, (19)=-, (20)=1+(21)=-, (22)=- . (23)(17)是一组线性联立方程,可以用线性方法求解.请注意以下两个补充说明. 第一,方程(1)只含有一个y(t). 当y(t)是一个向量函数时,算法同样成立.不过,所有的y(t)和f(t,y(t))必须换成相应的近似向量函数. 第二,算法需要保存所有算过的的y的值. 这是很多分数阶微分方程的典型特征. 这将会导致一些问题,特别是当y的维数和分数阶有限元系统一样大时. 这种情况下,系统有临近的短期记忆,y(t)在过去一段时间长度的值可以忽略不计,以此来改善对存储空间的需求和计算效率.3. 数值结果为了说明这种方法的效率,我们分别考虑一个线性和一个非线性的算例. 讨论这些例子是因为他们解的逼近格式是可靠的,并且可以用其他数值方法求解. 这样我们就可以把用这种方法得到的结果和解析解以及其他数值方法的结果相比较.3.1例1线性方程在第一个例子中,我们考虑如下给出的线性方程:,0<α<2,(24) 且. (25) 初始条件仅当α>1是成立. (24),(25)的解是:,(26) 其中,. (27) 是Mittag–Leffler函数的阶.图1.α=0.75时y(t)的比较(O:解析解,X:本文数值方法)表1.α=0.75时h在不同值下函数y(t)的误差对不同的α和h可以得到很多结果,这里给出其中一些. 在各种情况下,我们另T=6.4s.考虑这个区间是因为它接近α=2的系统的时间. 这里图(1)比较了α=0.75时的解析解和二次数值方法. 在这种情况下,我们令h=0.1s. 注意到这两个结果几乎完全重合. 为了强调收敛性,表(1)列出了当α=0.75,h分别等于0.4,0.2,0.1,0.05和0.025时的结果. 注意到随着步长的缩小,误差也如期望一样的缩小了. 在大部分节点误差比R=E(2h)/E(h)都非常接近3.37,这表明误差阶为1.75(或E(h)=O()).图2. α不同时y(t)的比较(O:α=0.25,X:α=0.5,+:α=0.75,Δ:α=0.95,*:α=1.)图3.α=1.5时y(t)的比较(O:解析解,X:本文数值方法)表2.α=1.5时h在不同值下函数y(t)的误差图(2)展示了h=0.025,α分别等于0.25,0.5,0.75,0.95和1时y(t)的数值结果.因为解析解和数值结果完全一致,因此图中没用画出解析解. 当α=1时,精确解为y(t)=. 注意到随着α越来越接近1,数值解越收敛到解析解y(t)=,即在极限情况下,分数阶微分方程的解接近整数阶导数的解.更进一步地,我们给出了α>1的一系列结果.α<1和α>1的结果是分离的,因为y(t)的斜率在α=1处有一个跃迁.图3比较了y(t)在α=1.5,h=0.4时的解析解和数值解. 两个结果又一次几乎完全重合.为了突出收敛性,表2给出了α=1.5,h分别等于0.4,0.2,0.1,0.05和0.025时的数值解. 正如之前观察到的一样,在这种情况下,随着步长的减小,误差也随之减小. 在这种情况下,误差比接近5.5,这表明误差阶为2.5(或E(h)=O()). 这样一来,通过观察α<1和α>1的收敛结果,可以知道误差的收敛阶为1+α(或E(h)=O()),即误差的阶不仅依赖于h,还依赖于导数的阶α.图4. α不同时y(t)的比较(O:α=1.25,X:α=1.5,+:α=1.75,Δ:α=1.95,*:α=2.)图5.α=0.25,0.75,1.25,1.75时y(t)的比较(O:解析解,X:本文数值方法)表3.本文数值方法和文献(35)中y(t)的误差的比较.图4展示了h=0.025,α分别等于1.25,1.5,1.75,1.95和2时y(t)的数值结果.又一次,因为解析解和数值结果完全一致,因此图中没用画出解析解. 当α=2时,精确解为y(t)=cos(t). 注意到随着α越来越接近2,数值解逐渐收敛到整数阶导数的解. 图2和图4展示的收敛结果十分重要,因为他们说明了在极限情况下,分数阶微分方程和他们的解逼近整数阶微分方程以及他们的解析解. 表3比较了t=1.0文献(35)的解的误差和用本文数值方法在α=0.5和1.25,h=0.1,0.05,0.025的解的误差. 注意到本文的方法得到了更低阶的误差. 这是因为,这里的方法是一种高阶方法. 当α和h取其他值时这种趋势也能显现出来.3.2 例2.非线性方程在第二个例子中,我们考虑一个如下定义的非线性方程:(28) 且. (29) 和之前一样,第二个初始条件仅适用于α>1. (28)(29)的精确解在文献(35)中已给出,(30)注意到当α<1, 方程的解在t=0处的斜率趋近于无穷. 因此,他可能导致在t=0附近出现一个巨大的数值误差.表4. α=0.75和1.5,h取不同值下y(t) 的误差.表5. 文献(35)中y(t)的误差和用本文数值方法得到的y(t)的误差的比较上面给出了一些在不同α和h下的数值结果. 图5表示了h=0.05,α分别等于0.25,0.75,1.25,1.75时解析解和数值解的结果. 由它可以得到(1).解析解和数值解基本重合,当α取其他值是,可以得到同样的结果. (2)尽管在t=0处斜率非常大,但是方法给出了非常精确的结果. (3)正如预期的那样, 在t=1处,对所有的α,y(t)的值收敛到0.25. 表4列出了当α=0.75和1.5,h=0.1,0.05和0.025的数值解的误差. 注意到误差随着步长的减小而减小. 同样的趋势在α取其他值时也能观察到. 在尝试过的α的值中,误差比R=E(2h)/E(h)表明没有特定的收敛阶. 然而,当α=0.75和1.5时,收敛的误差的平均值接近12和15.表5比较了文献(35)中在t=1.0处解的误差和用这种方法在α=0.25和1.25,h=0.05时的误差. 这里我们用的是文献(35)中用Richardson外推法得到的值. 观察得到,本文的方法又一次给出了更小的误差. 当α=0.25时,这种方法给出了比Richardson外推法小得多的误差. 这可能是因为,当α等于0.25时y(t)在t=0附近的斜率改变非常迅速,并且线性方法不能精确地获得结果. 需要指出的是,这种数值方法对于α和h取其他值时同样给出了更加精确的结果.4.结论本文给出了一种经典的分数阶微分方程的数值逼近方法. 这里的分数阶微分方程是依据Caputo型分数阶导数给出的, 这种导数的性质可以把分数阶微分方程减弱为Volterra型积分方程. 时间区间被分成一组网格,通过3个连续节点的二次插值多项式逼近未知的和已知的函数y(t)和f(t,y(t)). 把这些多项式带入Volterra型积分方程可以得到一组代数方程,这种数值方法的提出就是用来解这些方程以及获取y(t)的解. 通过一个线性一个非线性的例子的解决,说明了这种数值方法的作用. 用这种方法得到结果和解析解以及其他数值方法的结果是一致的. 还得到一个结论就是结果随着步长的减小而收敛. 在极限情况小,当α逼近整数值,数值方法会得到一个整数阶系统的解. 结果还表明这种方法是数值稳定的.。
分数阶偏微分电报方程一种解法的数值验证近些年,研究分数阶偏微分方程(又称为非定常偏微分方程)的研究领域内许多有趣的研究结果被发现,并得到了广泛的应用。
其中一种解决方案是电报方程,它提供了一种简单的,快速的,易于实施的方法来求解复杂的分数阶偏微分方程。
电报方程是以原子,分子和晶体物理中的热传输方程为基础,以电报系统为研究对象而发展起来的一种数学模型。
近几年在该领域内,有关电报方程的研究日渐引起计算学家们的关注。
在该系统的分析过程中,数值验证是非常重要的一步,它通过界面和转换参数的有效检验来确定准确性。
电报方程是一种广泛应用于能量转换和热传输领域的分数阶偏微分方程。
它既可以用来表示蕴藏在实际物质中的物理现象,也可以用来解决多种计算问题,例如记忆测量,数值积分,Thermistor模型等。
它具有许多不同的变种,例如电流密度方程,比特率方程,变换方程等。
由于它很容易在实用型的计算机设备上实现,因此已经得到了广泛的应用。
电报方程的解法可以从代数和数值方面分析。
在代数方面,可以用有限差分法来求解电报方程,并使用转换参数来验证解的准确性。
然而,代数方法的求解速度较慢,因此还有数值方面的求解方法。
数值方法是用来求解非定常偏微分方程(电报方程)最常用的方法之一,其优点是能够有效地求解复杂的分数阶偏微分方程。
在电报方程的数值解决方案中,有许多变种,例如牛顿迭代法,欧拉方法,结合迭代法等等。
本文研究的是牛顿迭代法,它是一种经典的迭代方法,能有效地求解电报方程。
牛顿迭代法是一种收敛快的迭代方法,它的算法有些简单,因此它能够有效地求解电报方程。
牛顿迭代是一种基于代数性质的迭代方法,它通过迭代法来求解分数阶偏微分方程,能够较快地收敛,得到解的准确性比较高。
在牛顿迭代法的数值解决方案中,需要对初始条件进行估计,以及根据电报方程的数值特征确定最适宜的参数设置,然后用有限差分法来求解电报方程。
在实际应用中,必须经过多次反复试验,来验证所求解的参数的准确性。
分数阶微分方程数值解的一种逼近方法By:Pankaj Kumar, Om Prakash Agrawal摘要本文提出了一类分数阶微分方程(FDEs)的数值解方案.在这种方法中,FDEs 被Caputo型分数阶导数所表现. Caputo型分数阶导数的属性可以让一个分数阶微分方程减弱为一个Volterra型积分方程. 这样做了之后,许多研究Volterra 型积分方程的数值方法也可以应用于寻找FDEs的数值解. 本文总时间被划分为一组小区间,在两个连续区间中,用二次多项式逼近未知函数. 这些近似被替换成转化的Volterra型积分方程由此获得一组方程. 这些方程的解提供了FDE的解. 这种方法被应用于解决两种类型的FDEs,线性和非线性. 用这里给出的方法得到的解能与解析解和其他方法的数值解较好的吻合. 同时结果说明这种数值方法是稳定的.1.引言本文讨论分数阶微分方程的数值解. 分数阶导数和分数阶积分近年来收到了广泛的关注. 在许多实际应用中,分数阶导数和分数阶积分为考虑的系统提供了更加精确地模型. 比如,分数阶导数已经被成功地运用到模拟许多粘性材料的依赖频率的阻尼行为.1980年之前,Bagley 和Torvik提出了这个领域已经被研究的工作的一个回顾,并且说明了半阶导数模型可以非常好地描述阻尼材料的频率以来. 另一些学者说明了分数阶导数和分数阶积分在电化学过程,电解质极化,有色噪声,粘性材料和混沌领域的应用. Mainardi,Rossikhin和Shitikova 提出了分数阶导数和分数阶积分在一般固体力学,特定粘弹性阻尼模型中的应用的调查. Magin提出了分数阶微积分在生物工程的三个关键部分的回顾. 分数阶导数和分数阶积分在其他领域的应用以及相关的数学工具和技巧还可以在许多其他文献上找到.系统模型中分数阶导数的引进大多会导致分数阶微分方程的出现. 对某些特定的分数阶微分方程在通常系统条件下的解,已经有几种方法被找到. 这些方法包括,拉普拉斯变换,傅里叶变换,模态综合法和特征向量展开法,数值法以及基于Laguerre积分公式的方法. 然而,这些方法中大多数不能被应用到非线性分数阶微分方程. 更进一步的,正如Diethelm等人指出的,这些方法很多只能应用到特定类型的分数阶微分方程,并且人们并不知道他们能否被推广. 并且,在很多作者的研究成果中,并没有出现系统性的收敛性分析.最近,对于能被应用到线性和非线性分数阶微分方程的数值稳定数值逼近技巧,人们的兴趣愈发浓厚. 这些方法技巧大多利用了分数阶微分方程可以被减弱为Volterra型积分方程的特性. 因此,Volterra型积分方程的数值解法也可以应用到分数阶微分方程的解当中. Diethelm等人提出了分数阶微分方程数值解的一种PECE方法,其中P,C,E分别代表预测,校正和估计. 这样一来很多学者又推广了应用于常微分方程和分数阶微分方程的Adams–Bashforth–Moulton 型预测-校正格式. 这种方法的提出也是利用分数阶微分方程可以被转化为Volterra型积分方程的特点. 这些作者同时提出了误差分析和用Richardson外推法改善数值精度的延伸. Ford和Simpson提出了一种阶数大于1的分数阶微分方程的数值解法. 在该公式中,阶大于1的分数阶微分方程被减弱为阶小于1的分数阶微分方程,然后用相应的数值解法解由此导出的系统. 在所有这些方法当中,节点之间的未知函数用线性函数逼近. Kumar and Agrawal提出了阶数大于1的分数阶微分方程的数值解法. 这种方法要求就y(t)和它的导数在时间节点上连续.本文基于古典分数阶微分方程可以转化为Volterra型积分方程的特点也提出了一种数值方法来逼近分数阶微分方程的解. 特别地,我们用二次逼近函数来建立这种算法,结果说明这种方法可以被应用到寻求分数阶微分方程的数值解. 我们还通过两个例子,线性和非线性问题的解决,说明了这种方法的高效和准确,并且这种数值方法是稳定的.2.数值算法关于分数阶导数的定义已经出现有好几种,它们包括Riemann–Liouville, Grun-wald–Letnikov, Weyl, Caputo, Marchaud,和Riesz分数阶导数. 这里,我们规定使用Caputo导数.其中,Caputo导数的定义是, (n-1<α<n),(1)其中,α是导数的阶数,n是比α大的最小的整数.式(1)早在19世纪就在Liouville的论文中被提出,在Caputo的论文发表前一年它被Rabotnov所用. 然而,在文献中,被(1)式所定义的分数阶导数作为Caputo导数被广泛认知.在接下来的讨论中,我们考虑含有Caputo导数的初值问题:(2)在初始条件:, k=0,1,...,n-1,(3)下的解,其中,f是任意函数,是y的k阶导数,,k=0,1,…,n-1是指定初值条件. 假设这个函数关于参数和积分区间都是连续的,并且对于它的第二个参数满足Lipschitz条件.在纯数学中,Riemann–Liouville导数比Caputo导数应用更加广泛. 然而,这里考虑Caputo导数是因为以Riemann–Liouville导数为基础的分数阶微分方程要求y(t)在t=0点的导数和积分为0.一般来说,这些条件的物理意义不是已知的,并且在实际应用中,他们是不可用的. Lorenzo and Hartley讨论了寻找在更一般的情况满足下初始条件的正确格式的问题. 在Diethelm and Ford的文章中,方程(2)和(3)被证明可以等价描述为:,(4)其中g(t)为:. (5)为了解释以二次多项式为基础的数值方法,我们假设我要求的是由(2)式定义的分数阶微分方程从0到T的积分. 为了达到这个目的,我们把时间T等分成N 份,令h=T/N,作为时间区间的每一个部分. 时间在网格点上被表示为. 同时假设y(t)的数值逼近值被网格点所决定. 该方法的基本思想是在相邻的两个时间节点和上数值地获取函数y(t)的值,然后重复这个过程来接近所求积分直到取到终点T.为了便于接下来的讨论,我们规定如下记号:, ,这里的方法需要对方程(4)每一步求两次积分值. 这里有两种方法来达成目的.第一种,用一些近似函数逼近y(t),然后用一种数值方法确定式(4)的积分值.这里需要在未知积分的情况下对和作初始的估计. 第二种, 都用近似函数来显式地逼近y(t)和f(t,y(t))以及确定式(4)的积分. 注意在这种情况下,和会作为参数出现在函数f当中. 本文利用的是第二种逼近方法.现在,我们给出算法的详细思路. 首先我们需要确定y(t),,的值. 用二次插值函数可以在区间[0,]上逼近y(t)和f(t,y(t)):(6)以及(7)其中,是函数在第k个时间节点的值,,k=0,1,2是二次插值函数,其中下标(j,k)代表在第j+1,j=0,…,m步的第k个近似函数.我们首先确定y(t)在和处的值. 把(7)式带入(4)式,并积分得到:(8)其中,,(9)可以精确计算得到. 注意式(8)需要知道f在和的值(或者间接地说,y的值). 为了得到,在[,]上把f(t,y(t))近似为:,(10)其中,,是另一个二次插值函数. 函数,k=1,2,3由下式给出,函数由相似的办法定义.把(10)代到(4)中,积分得到:, (11)其中,, (12)可以(9)中一样被精确计算出来. 由(7)可以得到的值为:(13) 这里,我们充分利用了二次多项式的性质. 在非二次多项式的情况下,将会有不同的参数.把(13)代到(11)得到,+, (14)注意到(8)和(14)是关于两个未知量和的方程,可以用Newton–Raphson法,不动点迭代或者其他非线性方法求解. 这里,我们用Newton–Raphson法求解这些非线性方程. 这个方法需要对和作一个初始的估计. 当α大于1, 由t=0处的斜率可以得到关于和的更好的估计. 然而,在这里,对于α>1和α<1我们对把这些变量的初值估计为. 注意在每一次迭代式,时间步长取2h.现在我们假定在处,y的值是已知的,我们要求的是和处的值. 根据以上的逼近方法,和可以被表示为:+, (15)++(16)其中,,k=2m,2m+2,2m+2,,k=2m,2m+1/2,2m+1是和,用同样方法确定的系数. 注意(15),(16)的积分可以被数值确定因为y(t)在,处的值是已知的. 这些方程含有两个未知量和,而他们可以通过Newton–Raphson法得到. 本文中,我们把作为和的初值估计. 这样一来,方程(1)就可以在需要的区间上求积分.作为特殊情况,考虑如下非线性系统:.这种条件下,,式(16)和(15)减弱为:, (17) 其中=, (18)=, (19)=-, (20)=1+(21)=-, (22)=- . (23) (17)是一组线性联立方程,可以用线性方法求解.请注意以下两个补充说明. 第一,方程(1)只含有一个y(t). 当y(t)是一个向量函数时,算法同样成立.不过,所有的y(t)和f(t,y(t))必须换成相应的近似向量函数. 第二,算法需要保存所有算过的的y的值. 这是很多分数阶微分方程的典型特征. 这将会导致一些问题,特别是当y的维数和分数阶有限元系统一样大时. 这种情况下,系统有临近的短期记忆,y(t)在过去一段时间长度的值可以忽略不计,以此来改善对存储空间的需求和计算效率.3. 数值结果为了说明这种方法的效率,我们分别考虑一个线性和一个非线性的算例. 讨论这些例子是因为他们解的逼近格式是可靠的,并且可以用其他数值方法求解. 这样我们就可以把用这种方法得到的结果和解析解以及其他数值方法的结果相比较.3.1例1线性方程在第一个例子中,我们考虑如下给出的线性方程:,0<α<2,(24) 且. (25) 初始条件仅当α>1是成立. (24),(25)的解是:,(26) 其中,. (27) 是Mittag–Leffler函数的阶.图1.α=0.75时y(t)的比较(O:解析解,X:本文数值方法)表1.α=0.75时h在不同值下函数y(t)的误差对不同的α和h可以得到很多结果,这里给出其中一些. 在各种情况下,我们另T=6.4s.考虑这个区间是因为它接近α=2的系统的时间. 这里图(1)比较了α=0.75时的解析解和二次数值方法. 在这种情况下,我们令h=0.1s. 注意到这两个结果几乎完全重合. 为了强调收敛性,表(1)列出了当α=0.75,h分别等于0.4,0.2,0.1,0.05和0.025时的结果. 注意到随着步长的缩小,误差也如期望一样的缩小了. 在大部分节点误差比R=E(2h)/E(h)都非常接近3.37,这表明误差阶为1.75(或E(h)=O()).图2. α不同时y(t)的比较(O:α=0.25,X:α=0.5,+:α=0.75,Δ:α=0.95,*:α=1.)图3.α=1.5时y(t)的比较(O:解析解,X:本文数值方法)表2.α=1.5时h在不同值下函数y(t)的误差图(2)展示了h=0.025,α分别等于0.25,0.5,0.75,0.95和1时y(t)的数值结果.因为解析解和数值结果完全一致,因此图中没用画出解析解. 当α=1时,精确解为y(t)=. 注意到随着α越来越接近1,数值解越收敛到解析解y(t)=,即在极限情况下,分数阶微分方程的解接近整数阶导数的解.更进一步地,我们给出了α>1的一系列结果.α<1和α>1的结果是分离的,因为y(t)的斜率在α=1处有一个跃迁.图3比较了y(t)在α=1.5,h=0.4时的解析解和数值解. 两个结果又一次几乎完全重合.为了突出收敛性,表2给出了α=1.5,h分别等于0.4,0.2,0.1,0.05和0.025时的数值解. 正如之前观察到的一样,在这种情况下,随着步长的减小,误差也随之减小. 在这种情况下,误差比接近5.5,这表明误差阶为2.5(或E(h)=O()). 这样一来,通过观察α<1和α>1的收敛结果,可以知道误差的收敛阶为1+α(或E(h)=O()),即误差的阶不仅依赖于h,还依赖于导数的阶α.图4. α不同时y(t)的比较(O:α=1.25,X:α=1.5,+:α=1.75,Δ:α=1.95,*:α=2.)图5.α=0.25,0.75,1.25,1.75时y(t)的比较(O:解析解,X:本文数值方法)表3.本文数值方法和文献(35)中y(t)的误差的比较.图4展示了h=0.025,α分别等于1.25,1.5,1.75,1.95和2时y(t)的数值结果.又一次,因为解析解和数值结果完全一致,因此图中没用画出解析解. 当α=2时,精确解为y(t)=cos(t). 注意到随着α越来越接近2,数值解逐渐收敛到整数阶导数的解. 图2和图4展示的收敛结果十分重要,因为他们说明了在极限情况下,分数阶微分方程和他们的解逼近整数阶微分方程以及他们的解析解. 表3比较了t=1.0文献(35)的解的误差和用本文数值方法在α=0.5和1.25,h=0.1,0.05,0.025的解的误差. 注意到本文的方法得到了更低阶的误差. 这是因为,这里的方法是一种高阶方法. 当α和h取其他值时这种趋势也能显现出来.3.2 例2.非线性方程在第二个例子中,我们考虑一个如下定义的非线性方程:(28) 且. (29) 和之前一样,第二个初始条件仅适用于α>1. (28)(29)的精确解在文献(35)中已给出,(30) 注意到当α<1, 方程的解在t=0处的斜率趋近于无穷. 因此,他可能导致在t=0附近出现一个巨大的数值误差.表4. α=0.75和1.5,h取不同值下y(t) 的误差.表5. 文献(35)中y(t)的误差和用本文数值方法得到的y(t)的误差的比较上面给出了一些在不同α和h下的数值结果. 图5表示了h=0.05,α分别等于0.25,0.75,1.25,1.75时解析解和数值解的结果. 由它可以得到(1).解析解和数值解基本重合,当α取其他值是,可以得到同样的结果. (2)尽管在t=0处斜率非常大,但是方法给出了非常精确的结果. (3)正如预期的那样, 在t=1处,对所有的α,y(t)的值收敛到0.25. 表4列出了当α=0.75和1.5,h=0.1,0.05和0.025的数值解的误差. 注意到误差随着步长的减小而减小. 同样的趋势在α取其他值时也能观察到. 在尝试过的α的值中,误差比R=E(2h)/E(h)表明没有特定的收敛阶. 然而,当α=0.75和1.5时,收敛的误差的平均值接近12和15.表5比较了文献(35)中在t=1.0处解的误差和用这种方法在α=0.25和1.25,h=0.05时的误差. 这里我们用的是文献(35)中用Richardson外推法得到的值. 观察得到,本文的方法又一次给出了更小的误差. 当α=0.25时,这种方法给出了比Richardson外推法小得多的误差. 这可能是因为,当α等于0.25时y(t)在t=0附近的斜率改变非常迅速,并且线性方法不能精确地获得结果. 需要指出的是,这种数值方法对于α和h取其他值时同样给出了更加精确的结果.4.结论本文给出了一种经典的分数阶微分方程的数值逼近方法. 这里的分数阶微分方程是依据Caputo型分数阶导数给出的, 这种导数的性质可以把分数阶微分方程减弱为Volterra型积分方程. 时间区间被分成一组网格,通过3个连续节点的二次插值多项式逼近未知的和已知的函数y(t)和f(t,y(t)). 把这些多项式带入Volterra型积分方程可以得到一组代数方程,这种数值方法的提出就是用来解这些方程以及获取y(t)的解. 通过一个线性一个非线性的例子的解决,说明了这种数值方法的作用. 用这种方法得到结果和解析解以及其他数值方法的结果是一致的. 还得到一个结论就是结果随着步长的减小而收敛. 在极限情况小,当α逼近整数值,数值方法会得到一个整数阶系统的解. 结果还表明这种方法是数值稳定的.。