《多项分数阶常微分方程的数值微分法.docx》由会员分享,可在线阅读,更多相关《多项分数阶常微分方程的数值微分法.docx(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、多项分数阶常微分方程的数值微分法摘要 在最近几年,多项分数阶常微分方程的数值微分法在许多数学模型领域有着十分重要的作用,并且在生活中以及许多科学和工程领域也都有着不可忽视的重要意义。并且多项分数阶常微分方程的数值微分法也是近几年来很多科研人员以及学者一直在努力研究的非常重要重要的部分。本文主要是通过函数逼近的方法研究并解决多项分数阶常微分方程的数值微分问题,通过函数逼近方法来解决问题之前我们需要了解函数逼近的许多定义。最后来研究解决多项分数阶常微分方程的数值微分问题。我将这篇文章分成了三个部分,第一部分主要介绍文章中所涉及的相关定义及性质,包括函数逼近的定义与性质和非线性方程的解法。第二部分主
2、要讨论多项分数阶常微分方程的数值微分法。通过我们的预备知识用基于L1逼近的数值解法,基于L1逼近的线性化数值解法。然后可以继续求解数值算例的数值解以及精确解来证明算法的正确性与有效性。第三部分为MATLAB实现的具体代码。关键词:函数逼近 常微分方程 数值微分法 非线性方程Numerical differentiation of fractional order ordinary differential equationAbstract In recent years, the numerical differentiation of multiple fractional ordinary
3、 differential equations has played a very important role in many fields of mathematical models, and also has an important significance in life and many fields of science and engineering. And the numerical differentiation method of multiple fractional ordinary differential equations is also a very im
4、portant part that many researchers and scholars have been trying to study in recent years.In this paper, we mainly study and solve the numerical differential problems of many fractional order ordinary differential equations by the method of function approximation. Before we solve the problems by the
5、 method of function approximation, we need to understand many definitions of function approximation. Finally, we study the numerical differentiation of multiple fractional ordinary differential equations. I divided this paper into three parts. The first part mainly introduces the related definitions
6、 and properties, including the definition and properties of function approximation and the solution of nonlinear equation. In the second part, we mainly discuss the numerical differentiation method of the multiple fractional ordinary differential equations. Through our preliminary knowledge, we use
7、the numerical solution based on L1 approximation and the linear numerical solution based on L1 approximation. Then we can continue to solve the numerical solution of the numerical example and the exact solution to prove the correctness and effectiveness of the algorithm. The third part is the specif
8、ic code of MATLAB.KEY WORDS: Function approximation, ordinary differential equation, numerical differential method, nonlinear equation目 录摘要IIAbstract III引言11.相关预备知识21.1函数逼近的相关知识21.2非线性方程的解法31.3Caputo导数相关定义52. 求解多项分数阶常微分方程的数值微分法62.1问题62.2基于L1逼近的数值解法72.3基于L1逼近的线性化数值解法93数值实验103.1数值算例及MATLAB实现103.2误差分析结
9、果13结论14参考文献15致谢16附录1718引 言我们知道多项分数阶常微分方程已有悠久的历史,并且目前还在不断的研究发展,其中最主要原因就是它在多个领域以及我们的生活中都有很重的应用。实际上多项分数阶常微分方程的数值微分法在常微分方程中,关于其结构以及模型已经有了相对来说比较完善的结论,但是对于它的求解方法却有着很多很多的方法,所以对于线性微分方程的求解的方法也就成为了常微分方程研究的一大热点。这篇文章主要介绍的是多项分数阶常微分方程的数值微分法,其中对于多项分数阶常微分方程的数值微分法我们主要还是通过L1逼近来解决的,对于运用L1逼近的方法之前我们还需要明白函数逼近,非线性方程,caput
10、o导数等许多相关知识,其中我们对于研究函数逼近的相关知识,主要运用的是泰勒公式我们可以参考7吴迎,黄健飞,赵维加. 分数阶常微分方程的数值解法J. 青岛大学学报,2013,31卷,第三期,以及11刘发旺,庄平辉,刘青霞.分数阶偏微分方程数值方法及其应用M. 中国科学出版社,2013.106,对于非线性方程的解法,其中主要运用的是二分法以及一般迭代法,对于这两部分知识可以参考14 白占兵. 分数阶微分方程边值问题理论及应用M. 中国科学出版社,2013. 243,这些主要是预备的相关知识,对于多项分数阶常微分的数值微分法我们主要通过相关知识来进行L1逼近的解法来研究。我将这篇文章分成了三个部分,
11、第一部分主要介绍文章中所涉及的相关定义及性质,包括函数逼近的定义与性质和非线性方程的解法。第二部分主要讨论多项分数阶常微分方程的数值微分法主要用基于L1逼近的数值解法,以及基于L1逼近的线性化数值解法,然后可以继续求解数值算例的数值解以及精确解来证明算法的正确性与有效性。第三部分为数值实验以及MATLAB实现的具体代码,来验证这个算法的有效性,并且得出相关结论。1. 相关预备知识1.1 函数逼近相关知识点函数逼近主要是通过简单的函数来近似代替函数,这种方法是在计算数学中最简单也是最基本的方法,并且我们知道在计算在数学中近似代替又将其称为逼近,通过这样的方法我们就可以将函数称之为逼近的函数,称之
12、为逼近函数,这两者的差我们通常是用 ,所以称为逼近的余项或者误差,实际上我们可以知道的是函数逼近的方法对于求积分和微积分都有着很重要的意义,但是一般被逼近的函数往往是一个复杂程度比较高并且十分不易计算的函数,所以对于这样的情况主要是通过表格的形式给出函数12916。首先用的泰勒(Taylor)展开式(在与之间)的部分以及逼近函数,也是一种我们经常使用的方法,这种方法最主要的特点就是越接近于,误差就越小,越偏离,误差就越大。所以如果我们需要使用这种逼近在整个讨论的区间上都可以达到精度要求的话,那么我们是需要选取很多很多项的,如果这种情况的话,那么我们的计算量将会很大,对于这样的情况,对于在给定的
13、精度下,需要求出计算量最小的近似解,这个问题也就是函数逼近所需要来解决的。1.2非线性方程的解法1.2.1二分法第一步我们需要确定有限区间,并且需要依据零点定理,设,并且,那么方程在区间上至少有一个根。如果在上恒正或者恒负,那么它的根是唯一的。用二分法(将区间对平分)来求解19。令 ,若 则为有根区间,否则为有根区间记新的有根区间为,则有 且对重复上述做法得且设所求的根为则 即 所以 取 为的近似解 则 即 1.2.2一般迭代法对于有时可以写成的形式3如 因为需要考虑到方程这种方程是隐式方程,所以我们不可以直接来求出它的根,但是可以给出根的某一个猜值,代入中的右端就可以得到再以为一个猜测值,代
14、入中的右端得到 反复迭代得 如果收敛,那么 所以是的一个根 1.3 Caputo导数相关定义Caputo分数阶导数L1的方法一21 Caputo分数阶导数L1的方法二21222.求解多项分数阶常微分方程的数值微分法2.1 问题以下是我们所要考虑的多项分数阶微分方程: (2.1.1)其中, 对区间进行剖析,即 ,为正整数,记 并且记 ,2.2基于L1逼近的数值解法根据问题,我们首先通过L1逼近进行剖析可以得到 (2.2.1)其中 (2.2.2) 首先我们对公式用L1逼近离散(2.2.1)剖析则有 (2.2.3) 因此我们去掉设置项并加以整理可以得到 (2.2.4)对于上面的解法我们可以将其变换得
15、到也就是将上栈中的,既可以得到如下 (2.2.5)通过去掉设置项并加以整理可以得到 (2.2.6)在这边应当注意的是由于 是的非线性的,所以我们用基于L1逼近的数值解法。2.3基于L1逼近的线性化数值解法为了避免求非线性方程,我们下面将来把第一种方法线性化来得到第二种方法。 (2.3.1)在这边我们可以知道依然是非线性的时 (2.3.2)即第一种方法要求N个非线性方程,但是第二种方法只需要求1个非线性方程但是依然可以有着相同的计算精度。3 数值实验3.1数值算例的条件 (3.1.1) 其中令 T=2, 这个微分方程的精确解为所以将其带入即可以得到 (3.1.2)这样我们可以通过MATLAB程序
16、得到相应的图形图 1是在步长为1/10时基于L1逼近的数值解法,所得出的图形图 2是在步长为1/10通过基于L1逼近的线性化数值解法,得到的图形在,的条件下,不同的步长得到的数值解与精确解的误差以及误差阶数如下表:表格1是基于L1逼近的数值解法来得出的数据步长误差阶数0.1694683322720120.0749564352033281.1768914614051930.0334410142461721.1644337384120710.0150236602512461.1543822611570170.0067913304527211.1454702051795640.00308667187
17、12771.137642107344632表格2是基于L1逼近的线性化数值解法来得出的数据步长误差阶数0.1751766528652410.0766968270939261.1915717081637350.0339087172576731.1775106861702290.0151439564934131.1629140377944470.0068217697769481.1505241990903020.0030943167767661.1405251688575503.2 误差分析通过MATLAB的算法实现我们可以看出来,运用两种计算的精度是都可以满足的,对于第一种方法基于L1逼近的数值
18、解法,是要求N个非线性方程,然而第二种方法也就是给予L1逼近的线性化数值解法我们仅仅需要求一个非线性方程,但是依然可以满足相同的计算精度,所以我们更加推荐使用第二种方法,也就是基于L1逼近的线性化数值解法!结论本文主要研究了对多项分数阶常微分方程的数值微分法,在本文中我们刚开始对于所求多项分数阶常微分方程的数值微分法所用的预备知识,也就是关于L1逼近的相关知识点以及我们后面所需要的有关于非线性方程的解法作为本文的相关预备知识,后面我们刚开始主要通过基于L1逼近的数值解法来解决问题,这种方法需要求N个非线性方程,后来我们通过第二种方法,也就是基于L1逼近的线性化数值解法,这个解法的好处就在于我们
19、只需要求一个非线性方程,就可以得到与方法一相同的计算精度,所以通过本文的论证,我们可以知道,基于L1逼近的线性化数值解法更加适合于求解多项分数阶常微分方程的数值方法! 参考文献1林然,刘发旺.分数阶常微分方程初值问题的高阶近似J. 厦门大学学报.2004.12卷.第六期 18.2孙志忠.高广花.分数阶微分方程的有限差分方法M. 科学出版社.2018.196.3苏新卫, 刘兰冬. 分数阶微分方程解的存在性J. 山西大学学报 (自然科学版). 2007.24卷.第二期.36.4于强.刘发旺.时间分数阶反应扩散方程的隐式差分近似J. 厦门大学学报.2006.44卷.第九期.96.5张晓丹.段雅丽.P
20、C-MG方法解反应扩散方程组J. 高等学校计算数学报.2005.45卷.第二期.68.7吴迎.黄健飞.赵维加. 分数阶常微分方程的数值解法J. 青岛大学学报.2013.31卷.第三期106.8丁小丽. 分数阶微分方程的解析研究方法M.西北工业大学出版社.2019. 331.10黄健华.辛杰.沈天龙. 分数阶偏微分方程的动力学M. 科学出版社.2019.201.11刘发旺,庄平辉,刘青霞.分数阶偏微分方程数值方法及其应用M. 中国科学出版社.2013.106.12龚晟. 简明微积分M.高等教育出版社.2017.114.13覃平阳.张晓丹 分数阶波动方程的一种数值解法J. 高等学校计算数学报.20
21、16.16卷.第七期124.14白占兵. 分数阶微分方程边值问题理论及应用M. 中国科学出版社.2013. 243.15张淑情.有限区间上的分数阶扩散-波方程的解J. 西北师范大学学报.2005.24卷.第三期.98.16张明.张晓丹.解波动方程的精细积分法及其数值稳定性分析J.石油大学学报.2004.29卷.第五期.39.17庄平辉.刘发旺.空间-时间分数阶扩散方程的显式差分近似J.高等学校计算数学报2005.32卷.64.18尹翠影.刘发旺.解分数阶微分方程的一些技巧J. 厦门大学学报.2008. 46卷.第二期.60.19常福宣.陈进.黄薇.反常扩散与分数阶对流扩散方程J. 物理学报.
22、2005. 第三期.102.20郭柏灵.蒲学科.黄凤辉. 分数阶偏微分方程及其数值解M. 科学出版社.2013. 29.21李亚杰.吴志强.章国齐.基于Caputo导数的分数阶非线性振动系统响应计算J.计算力学学报.2018.04期.32.22何胜鑫.朱建青.张毅.基于联合Caputo导数的分数阶Lagrange系统的Noether对称性J.苏州科技学院学报(自然科学版).2016.03期.56.致 谢转眼之间,我己经是一名大四的毕业班学生了,四年的大学生活也即将画上一个句号了,站在毕业的门槛上,回首大学四年的学习生活,我得到了各位老师和同学的帮助与支持,正因为老师与同学们的支持与帮助使我可以
23、顺利完成毕业论文。我的这边论文是在导师黄健飞教授的悉心指导下以及各位同学,朋友的帮助下完成的,黄健飞导师是一位十分负责任的导师,导师不仅有着渊博的专业的学科知识,而且对待治学有着严谨的态度,导师不仅教我论文如何编写,而且教我做人的道理,我与导师的接触我将受益终生。本篇论文从刚开始的初期选题、中期考核到最终定稿,我的指导老师给予了我大量的指导意见,并且导师在繁忙的工作中抽出时间以及大量的精力来指导我,这段时间导师倾注了大量的心血,在此,对导师这段时间里学术的教导与生活上的关怀表示崇高的敬意和衷心的感谢。本论文的完成也离不开学校里各位学科老师、同学们的关怀与帮助。最后还要感谢我的父母在我学习生涯中
24、无微不至的关怀与包容,父母的辛苦付出可以使我在学校可以安心的认真学习。在未来的日子里我虽将踏上工作岗位,我会努力工作并且不断学习,不断的提升自己,做一个对社会对国家有用的人,最后感谢母校对我四年来的辛勤栽培。附录方法一基于L1逼近的数值解法:clc;clear all;format long%global alpha1 alpha2 alpha3 alpha1 = 0.9; alpha2 = 0.6; alpha3 = 0.3; % 1 alpha1 alpha2 alpha3 0%T = 2; %, %tau = 0.1; % %TT = 0:tau:T;N = length(TT)-1;b
25、_alpha1 = zeros(1,N); b_alpha2 = zeros(1,N); b_alpha3 = zeros(1,N); % %for k = 0 :(N-1)b_alpha1(k+1) = (1+k)(1-alpha1)-(k)(1-alpha1)/gamma(2-alpha1);b_alpha2(k+1) = (1+k)(1-alpha2)-(k)(1-alpha2)/gamma(2-alpha2)*tau(alpha1-alpha2);b_alpha3(k+1) = (1+k)(1-alpha3)-(k)(1-alpha3)/gamma(2-alpha3)*tau(alph
26、a1-alpha3);endcoe_0 = b_alpha1(0+1) + b_alpha2(0+1) + b_alpha3(0+1);%U = zeros(1,N+1); % for n = 1: N temp = 0; for k = 0 : (n-2) temp = temp + (b_alpha1(n-k-1+1) + b_alpha2(n-k-1+1) + b_alpha3(n-k-1+1)*(U(k+1+1)-U(k+1); end temp0 = U(n); % % while 1 temp1 = U(n-1+1) - temp/coe_0 + tau(alpha1)*right
27、_fun(TT(n+1),temp0)/coe_0; if abs(temp0-temp1) alpha1 alpha2 alpha3 0%T = 2; % %tau = 0.1; % %TT = 0:tau:T;N = length(TT)-1;b_alpha1 = zeros(1,N); b_alpha2 = zeros(1,N); b_alpha3 = zeros(1,N); % %for k = 0 :(N-1)b_alpha1(k+1) = (1+k)(1-alpha1)-(k)(1-alpha1)/gamma(2-alpha1);b_alpha2(k+1) = (1+k)(1-alpha2)-(k)(1-alpha2)/gamma(2-alpha2)*tau(alpha1-alpha2);b_alpha3(k+1) = (1+k)(1-alpha3)-(k)(1-alpha3)/gamma(2-alpha3)*tau(alpha1-alpha3);endcoe_0 = b_alpha1(0+1) + b_alpha2(0+1) + b_alpha3(0+1);%U = zeros(1,N+1); % for n = 1: N