化工应用数学-常微分方程数值解-打靶法
- 格式:pptx
- 大小:190.11 KB
- 文档页数:12
常微分方程的数值解法1. 引言常微分方程是自变量只有一个的微分方程,广泛应用于自然科学、工程技术和社会科学等领域。
由于常微分方程的解析解不易得到或难以求得,数值解法成为解决常微分方程问题的重要手段之一。
本文将介绍几种常用的常微分方程的数值解法。
2. 欧拉方法欧拉方法是最简单的一种数值解法,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上假设解函数为线性函数,即通过给定的初始条件在每个子区间上构造切线;- 使用切线的斜率(即导数)逼近每个子区间上的解函数,并将其作为下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
3. 改进的欧拉方法改进的欧拉方法是对欧拉方法的一种改进,主要思想是利用两个切线的斜率的平均值来逼近每个子区间上的解函数。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上构造两个切线,分别通过给定的初始条件和通过欧拉方法得到的下一个初始条件;- 取两个切线的斜率的平均值,将其作为该子区间上解函数的斜率,并计算下一个子区间的初始条件;- 重复上述过程直至达到所需的精度。
4. 二阶龙格-库塔方法二阶龙格-库塔方法是一种更为精确的数值解法,其基本思想是通过近似计算解函数在每个子区间上的平均斜率。
具体步骤如下: - 将自变量的区间等分为n个子区间;- 在每个子区间上计算解函数的斜率,并以该斜率的平均值近似表示该子区间上解函数的斜率;- 利用该斜率近似值计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
5. 龙格-库塔法(四阶)龙格-库塔法是目前常用的数值解法之一,其精度较高。
四阶龙格-库塔法是其中较为常用的一种,其具体步骤如下:- 将自变量的区间等分为n个子区间;- 在每个子区间上进行多次迭代计算,得到该子区间上解函数的近似值;- 利用近似值计算每个子区间上的斜率,并以其加权平均值逼近解函数的斜率;- 计算下一个子区间的初始条件,并进一步逼近解函数;- 重复上述过程直至达到所需的精度。
西京学数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强微分方程组边值问题数值算法(打靶法,有限差分法)实验课题熟悉微分方程组边值问题数值算法(打靶法,有限差实验目的分法)运用Matlab/C/C++/Java/Maple/Mathematica等其中实验要求一种语言完成微分方程组边值问题数值算法(打靶法,有限差分法)实验内容成绩教师实验二十七实验报告1、实验名称:微分方程组边值问题数值算法(打靶法,有限差分法)。
2、实验目的:进一步熟悉微分方程组边值问题数值算法(打靶法,有限差分法)。
3、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica 等其中一种语言完成程序设计。
4、实验原理:1.打靶法:对于线性边值问题(1)⎩⎨⎧==∈=+'+''βα)(,)(],[)()()(b y a y b a x x f y x q y x p y 假设是一个微分算子使:L ()()Ly y p x y q x y '''=++则可得到两个微分方程:,,)(1x f Ly =α=)(1a y 0)(1='a y ,, (2)⇔)()()(111x f y x q y x p y =+'+''α=)(1a y 0)(1='a y ,,02=Ly 0)(2=a y 1)(2='a y ,, (3)⇔0)()(222=+'+''y x q y x p y 0)(2=a y 1)(2='a y 方程(2),(3)是两个二阶初值问题.假设是问题1y(2)的解,是问题(3)的解,且,则线性边值问2y 2()0y b ≠题(1)的解为: 。
1122()()()()()y b y x y x y x y b β-=+2.有限差分法:基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似, 积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组 , 解此方程组就可以得到原问题在离散点上的近似解。
西京学数学软件实验任务书动方向控制减速的推力,主要的控制量只有一个减速推力,减速还会消耗燃料让登月器的质量减小。
所以在极坐标下系统的状态就是x‘=[质量m,角度theta,高度r,角速度omega,径速度v]这五个量,输入就是减速力F。
先列微分方程,dx/dt=f(x)+B*F,其中x是5*1的列向量,质量dm/dt=-F/2940,剩下几个翻下极坐标的手册。
把这个动力学模型放到matlab里就能求解了,微分方程数值解用ode45。
第一问F=0,让你求椭圆轨道非常容易。
注意附件1里说15公里的时候速度是1.7km/s。
算完以后验证一下对不对,对的话就是他了,不对的话说明这个椭圆轨道有进动,到时再说。
(2) 算出轨道就能计算减速力了。
这时候你随便给个常数减速力到方程里飞船八成都能降落,但不是最优解。
想想整个过程,开始降落之前飞船总机械能就那么多,你需要对飞船做负功让机械能减到0。
题目里写发动机喷出翔的相对速度是一定的,直觉告诉我飞船速度快的时候多喷一些速度慢的时候少喷一些,可以提高做负功的效率。
但是多喷也不能超过上限7500N,所以这就是一个带约束优化问题,matlab里边有专用的优化函数,用fmincon就好。
找出最优解以后把过程画出来,看看F可不可以是那5个状态量的线性组合,如果是的话就非常happy,不是的话再说。
三四阶段你可以扯点图像识别,什么二维复利叶分解找平坦区域,怎么一边下降一边根据自身状态调整路径之类的。
五六阶段还真不知道说什么。
一二阶段肯定是重点啦(3) 误差分析其实还挺难的。
可能的误差来源是地球的引力,月亮绕地球向心加速度,太阳的引力(可能会很小),对自身速度、角度的测量误差(比如你测出自身当前速度100m/s但实际上是105m/s),控制的时候F大小以及角度的误差(比如你想朝正前方向喷2000N但实际上偏了2度而且F=2010N之类)。
上一问已经求出了最优控制策略和飞船路线,把这些扰动加进去以后算出新的路线减掉理想路线求偏差,然后随便用个卡尔曼滤波器把误差给校正All for Joy2014/9/13 11:14:38老师的思路,求大神解答给我一份呀实验二十七实验报告一、实验名称:微分方程组边值问题数值算法(打靶法,有限差分法)。
常微分方程的数值解法常微分方程是研究变量的变化率与其当前状态之间的关系的数学分支。
它在物理、工程、经济等领域有着广泛的应用。
解常微分方程的精确解往往十分困难甚至不可得,因此数值解法在实际问题中起到了重要的作用。
本文将介绍常见的常微分方程的数值解法,并比较其优缺点。
1. 欧拉方法欧拉方法是最简单的数值解法之一。
它基于近似替代的思想,将微分方程中的导数用差商近似表示。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)根据微分方程的定义使用近似来计算下一个点的值。
欧拉方法的计算简单,但是由于误差累积,精度较低。
2. 改进欧拉方法为了提高欧拉方法的精度,改进欧拉方法应运而生。
改进欧拉方法通过使用两个点的斜率的平均值来计算下一个点的值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)根据微分方程的定义使用近似来计算下一个点的值。
改进欧拉方法相较于欧拉方法而言,精度更高。
3. 龙格-库塔法龙格-库塔法(Runge-Kutta)是常微分方程数值解法中最常用的方法之一。
它通过迭代逼近精确解,并在每一步中计算出多个斜率的加权平均值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)计算各阶导数的导数值。
(4)根据权重系数计算下一个点的值。
与欧拉方法和改进欧拉方法相比,龙格-库塔法的精度更高,但计算量也更大。
4. 亚当斯法亚当斯法(Adams)是一种多步法,它利用之前的解来近似下一个点的值。
具体步骤如下:(1)确定初始条件,即问题的初值。
(2)选择相应的步长h。
(3)通过隐式或显式的方式计算下一个点的值。
亚当斯法可以提高精度,并且比龙格-库塔法更加高效。
5. 多步法和多级法除了亚当斯法,还有其他的多步法和多级法可以用于解常微分方程。
多步法通过利用多个点的值来逼近解,从而提高精度。
而多级法则将步长进行分割,分别计算每个子问题的解,再进行组合得到整体解。
打靶法常微分方程边值问题数值解法- 正文用某种离散化数值步骤求出常微分方程边值问题在离散点上的近似解的方法。
各种实际问题导出不同类型的边值问题。
较简单的有二阶常微分方程两点边值问题:求函数y=y(x),x∈【α,b】,使它满足微分方程和边值条件式中ƒ、g1、g2为已知函数;α与b为两个给定的端点。
较一般地有一阶常微分方程组两点边值问题:求N个函数使其满足微分方程组和边值条件式中诸ƒn、g i是已知函数;r为给定的自然数。
有些问题因求解区间是无穷区间而被称作奇异边值问题,相应的边界条件变为对解在无穷远处渐近行为的限制,例如,要求y(x)在区间【0,)上平方可积或要求当x趋于无穷时,y(x)趋于某极限值。
还有些实际问题因要求解满足多个点上的条件而被称作多点边值问题。
近年来,对反映边界层现象的奇异摄动边值问题提出了一些新的数值解法。
此外,关于存在多个解的分歧现象数值解问题也引起人们的注意。
打靶法主要思路是:适当选择和调整初值条件,(选什么)求解一系列初值问题,使之逼近给定的边界条件。
如果将描述的曲线视作弹道,那么求解过程即不断调整试射条件使之达到预定的靶子,所以称作打靶法或试射法,此类方法的关键是设计选取初值的步骤。
对非线性边值问题可通过下列步骤求数值解:①计算初值问题的数值解y1。
若g(y1(b),y姈(b))=B,近似地满足,则y1即为所求;否则进行②。
②计算初值问题的数值解y2,若g(y2(b),y娦(b))=B近似地满足,则y2即为所求;否则令m=3进行③。
③将g(y(b),y┡(b))视为y(α)的函数,用线性逆插值法调整初值,即计算然后进行④。
④计算初值问题的数值解y m并进行判定:若b点边值条件近似地满足,则y m即为所求;否则令m+1崊m转向③继续计算直到满意为止。
特别地,若微分方程是线性的,则打靶法变成线性组合法,即根据常微分方程理论适当选取初值可得到一组线性独立解,利用它们的线性组合导出边值问题的解。
0引言常微分方程边值问题是常微分方程理论的重要组成部分,在众多科学技术领域中有着非常广泛的应用,见文献[4-7]。
打靶法是解微分方程的数值方法,其基本思想是将微分方程的边值问题转化为初值问题来求解,其特点是精度高,程序简单,实用性强。
1968年P.B.Baily、L.F.Shampine、P.E.Waltman[1]结合常微分方程初值问题的基本理论和打靶法,研究了非线性二阶常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)(1)解的存在性。
本文试图研究更广泛的非线性常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)(2)u(a)=A,cu(b)+du′(b)=B(3)解的存在性,并讨论其唯一性,从而推广文献[1]的结果,其中c,d,A,B∈R均为常数,并且c2+d2≠0,a,b∈R为满足a<b的常数,我们将给出并证明如下结果:定理1(解的存在性)设cd>0,设f:[a,b]×R2→R 连续并且满足对第二、三变元的Lipschitz条件,如果存在常数N>0使得:│f(t,y,p)│≤N,A(t,y,p)∈[a,b]×R2(4)则对任意A,B∈R,二阶常微分方程两点边值问题(2) -(3)至少有一个解。
定理2(解的唯一性)设f:[a,b]×R2→R连续并且满足对第二、三变元的Lipschitz条件│f(t,y2,p2)-f(t,y1,p1│≤L│y2-y1│+K│P2-P1│(5)如果存在常数N>0使得:│f(t,y,p)│≤N,A(t,y,p)∈[a,b]×R2(6)则当L+K充分小时,对任意A,B∈R,二阶常微分方程两点边值问题式(2)-(3)有且仅有一个解。
特别地,当c=0时,边值问题式(2)-(3)就是著名的Robin边值问题,在力学和热学中具有重要的应用背景。
1预备结果为了证明存在性定理,我们需要如下两个预备打靶法在常微分方程边值问题中的一些应用Shooting Method in the Application of Ordinary Difference Equations Boundary Value Problem安乐An Le(天水师范学院数学与统计学院,甘肃天水741001)(College of Mathematics and Statics,Tianshui Normal University,Gansu Tianshui741001)摘要:本文运用打靶法研究非线性二阶常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)u (a)=A,cu(b)+du′(b)=B解的存在性与唯一性,其中f:[a,b]×R2→R连续。