求解常微分方程组的几种方法

求解常微分方程组的几种方法

ID:9887623

大小:724.50 KB

页数:7页

时间:2018-05-13

求解常微分方程组的几种方法_第1页
求解常微分方程组的几种方法_第2页
求解常微分方程组的几种方法_第3页
求解常微分方程组的几种方法_第4页
求解常微分方程组的几种方法_第5页
资源描述:

《求解常微分方程组的几种方法》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、求解常微分方程组的几种方法金晓龙(广东女子职业技术学院艺信系,广东广州511450)摘要:在建立实际问题的数学模型时,常需要建立各物理量随某自变量变化的常微分方程组及求解,由于处理问题时使用的编程语言不同,经常会遇到如下问题:各种语言如何处理该问题?常用的处理工具?编程语言与工具软件的参数传递?关键词:常微分方程组数值解龙格-库塔法Matlab中图分类号:TP311SomeSolutionofOrdinaryDifferentialEquationsJinXiaolong(GuangdongWomen’sPolytechnicCollege,ArtandInf

2、ormationDepartment,Guangzhou511450,China)Abstract:Inestablishingthethemathematicalmodelofpracticalproblems,itofenneedtoestablishtheordinarydifferentialequationswhichphysicalquantitieschangeovertime,solvetheordinarydifferentialequationsforthenumericalsolutions.Becauseofusingvariouspr

3、ogramminglanguages,itofentoencounterthefollowingproblems.Howtosolvetheproblembyvariouslanguages?Whatisthecommontoolsoftware?Howtopassparametersbetweenprogramminglanguageandtoolsoftware?Keywords:ordinarydifferentialequations;numericalsolution;Runge-Kuttamethod;Matlab1引言在科学应用中,常需要建立实际

4、问题的数学模型,建立各种变量的常微分方程组及对其求解。微分方程是指方程中未知的是一个变量或几个变量的函数,并且在方程中不仅有函数本身而且有它们的导数。如果方程中的未知函数是有多个变量的函数,该方程为偏微分方程;若未知函数是只有一个变量的函数,该方程为常微分方程。微分方程中出现的未知函数导数的最高阶数,叫做微分方程的阶数[1]。在实际应用中,经常需要建立若干个物理量随时间变化的常微分方程组及求常微分方程组初值问题的数值解,由于处理问题时使用的编程语言不同,常遇到如下问题:如何在各种语言内处理该问题?通常的使用其它工具的求解办法?如果使用其它工具求解,如何实现编程

5、语言与求解工具之间的参数传递?在工程实际与科学研究中遇到的微分方程往往比较复杂,在很多情况下,都不能给出解析表达式,这些情况下不适宜采用解析法来求解,而需采用数值解法来求近似解。常微分方程数值解法的思路:对求解区间进行剖分,然后把常微分方程离散成在节点上的近似公式或近似方程,最后结合定解条件求出近似解[2]。常微分方程组的数值解法有很多种,在诸多算法中,四阶龙格-库塔算法具有较高的精确度,是一种优先选取的算法。2常微分方程组求解常微分方程组与常微分方程解法不同之处在于用向量形式构成龙格-库塔公式。对一阶常微分方程组的初值问题若采用向量的记号则上述方程组的初值问

6、题可表为求解这一初值问题的四阶龙格-库塔公式为高阶常微分方程(或方程组)可以化为一阶常微分方程组,对下列m阶微分方程初始条件为引进新的变量可将m阶方程化为一阶方程组初始条件相应转化为3各种语言求解常微分方程组虽然编程语言不同,但各种语言都可以使用龙格-库塔公式编程对常微分方程组求解,它们的编程流程图是一致的,如图1龙格-库塔算法流程图[3]。图1龙格-库塔算法流程图输出或显示结果系列值由xn,yn及函数确定k1,k2,k3,k4NY结束是否所有xn都处理完?开始用函数描述常微分方程组中的各个方程确定初值x0,y0,步长h由yn,h,k1,k2,k3,k4确定y

7、n+1以Excel的VBA为例,对常微分方程组在区间求解。编写宏函数。启动Excel,“工具”→“宏”→“VisualBasic编辑器”,在资源管理器窗口,右击某一图表,选“插入”→“模块”。当创建将用在工作表公式中的自定义函数时,要确保这些代码位于普通的VBA模块中,如果将自定义函数放在Sheet或者ThisWorkbook的代码模块中,那么它们在公式中就不能运行。下列代码实现龙格-库塔公式运算,由于是方程组,需要求两个解y1、y2,所以在调用函数时使用了一个逻辑变量,为True返回y1的值,为False返回y2的值。代码中的、为向量中成员。Function

8、f1(x,y1,y2)f1=x*y1+

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。