8.4 线性多步法
- 格式:pdf
- 大小:333.50 KB
- 文档页数:32
线性多步法matlab程序,数学实验“线性多步法(数值积分法,Taylor展开法)”实验报。
数学实验“线性多步法(数值积分法,Taylor展开法)”实验报告(内含matlab程序).西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性多步法(数值积分法,Taylor展开法)实验⽬的熟悉线性多步法(数值积分法,Taylor展开法)实验要求运⽤Matlab/C/C++/Java/Maple/Mathematica等其中⼀种语⾔完成实验内容线性多步法(数值积分法,Taylor展开法)成绩教师实验⼆⼗五实验报告实验名称:线性多步法(数值积分法,Taylor展开法)。
实验⽬的:进⼀步熟悉线性多步法(数值积分法,Taylor展开法)。
实验要求:运⽤Matlab/C/C++/Java/Maple/Mathematica等其中⼀种语⾔完成程序设计。
实验原理:数值积分法:常微分⽅程初值问题(1)数值解法中,某⼀步的公式不仅与前⼀步解的值有关,⽽且与前若⼲步解的值有关,利⽤前⾯多步的信息预测下⼀步的值,这就是多步法的基本思想,可以期望获得较⾼的精度。
将(1)中的⽅程在区间上积分,可以得到:⽤等距节点的插值多项式来替代被积函数,再对插值多项式积分,这样就得到⼀系列求积公式。
⽤梯形⽅法计算积分项代⼊(1)中得:设由个数据点 构造插值多项式,这⾥,运⽤插值公式有:得到下列计算公式:(2)其中,由此可得(2)中的系数。
公式(2)是⼀个r+1步的显式公式,称为Adams显式公式。
Taylor展开法:基于数值积分可以构造出⼀系列求解常微分⽅程的计算公式,下⾯介绍基于 Taylor 展开的待定系数法,它可灵活地构造出线性多步法。
对固定的系数,可以选取待定系数使线性多步法的阶尽可能⾼。
还可以根据需要,确定显式还是隐式。
设构造如下具有 p 阶精度的线性多步公式:(4)它们的局部截断误差为:即: (5)对(5)式的右端各项在点处作Taylor展开有:代⼊(5)中得:使的系数为零,得到关于和的线性⽅程组:⽽且得到线性多步法的局部截断误差:实验内容:%数值积分法function [k,X,Y,wucha,P]= Adams4x(funfcn,x0,b,y0,h)x=x0; y=y0;p=128; n=fix((b-x0)/h);if n<5return;endX=zeros(p,1);Y=zeros(p,length(y)); f=zeros(p,1);k=1; X(k)=x; Y(k,:)=y';for k=2:4c1=1/6;c2=2/6;c3=2/6;c4=1/6;a2=1/2; a3=1/2;a4=1;b21=1/2;b31=0;b32=1/2; b41=0;b42=0;b43=1;x1=x+a2*h; x2=x+a3*h;x3=x+a4*h; k1=feval(funfcn,x,y);y1=y+b21*h*k1; x=x+h;k2=feval(funfcn,x1,y1);y2=y+b31*h*k1+b32*h*k2;k3=feval(funfcn,x2,y2);y3=y+b41*h*k1+b42*h*k2+b43*h*k3;k4=feval(funfcn,x3,y3);y=y+h*(c1*k1+c2*k2+c3*k3+c4*k4); X(k)=x; Y(k,:)=y; endX;Y;f(1:4)=feval(funfcn,X(1:4),Y(1:4));for k=4:nf(k)=feval(funfcn,X(k),Y(k));X(k+1)=X(1)+h*k;Y(k+1)=Y(k)+(h/24)*((f(k-3:k))'*[-9 37 -59 55]');f(k+1)= feval(funfcn,X(k+1),Y(k+1));f(k)=f(k+1); k=k+1; endfor k=2:n+1wucha(k)=norm(Y(k)-Y(k-1)); k=k+1; endX=X(1:n+1); Y=Y(1:n+1,:); n=1:n+1, wucha=wucha(1:n,:); P=[n',X,Y,wucha']; - 0 -。
1.1 求下列各数的具有四位有效数字的近似值, 并指出其绝对误差限和相对误差限)1.0ln(,121,1011,1014321====x x x x1.2 下列各数都是对准确值进行四舍五入得到的近似值, 指出它们的绝对误差限、相对误差限和有效数字的位数。
3*5*4*3*2*1100.5,5000,50.31,3015.0,0315.0⨯=====x x x x x1.3 为了使31的近似值的相对误差不超过0.1%, 问应取几位有效数字?1.4 怎样计算下列各题才能使得结果比较精确?(1) x x sin )sin(-+ε,其中ε充分小 (2) ⎰++121N Nx dx,其中N 是充分大的正数(3)xxsin cos 1-,其中x 充分小(4) o 1cos 1- (5) 1001.0-e(6) )11010ln(84--1.5 求方程01562=+-x x 的两个根, 使至少具有四位有效数字。
2.1 证明方程043=-+x x 在区间[1,2]内有且仅有一个根。
如果用二分法求它具有五位有效数字的根,试问需对分多少次?(不必求根)2.2 用二分法求方程0134=+-x x 在[0.3, 0.4]内的一个根, 精度要求21021-⨯=ε。
2.3 找出下列方程的有根区间,选择适当的初始点用二分法求方程的根,精度要求210-=ε。
(1) 02=--x x ;(2) 06cos 2=-++-x e x x ; (3) 01tan =--x x ; (4) 0sin 2=--x e x 。
2.4 考虑方程032=-x e x ,将其改写为3xex ±=,取00=x ,用两种迭代公式迭代,分别收敛到1.0和-0.5附近的两个根(取精度要求310-=ε)。
2.5 为求方程0123=--x x 在5.1=x 附近的一个根,建立下列形式的迭代公式:(1) 2121111kk x x xx +=⇒+=+,;(2) 3212311k k x x x x +=⇒+=+,;(3) 111112-=⇒-=+k k x x x x ,。
第七章 常微分方程数值解法常微分方程中只有一些典型方程能求出初等解(用初等函数表示的解),大部分的方程是求不出初等解的。
另外,有些初值问题虽然有初等解,但由于形式太复杂不便于应用。
因此,有必要探讨常微分方程初值问题的数值解法。
本章主要介绍一阶常微分方程初值问题的欧拉法、龙格-库塔法、阿达姆斯方法,在此基础上推出一阶微分方程组与高阶方程初值问题的 数值解法;此外,还将简要介绍求解二阶常微分方程值问题的差分方法、试射法。
第一节 欧拉法求解常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(y x y y x f dxdy(1)的数值解,就是寻求准确解)(x y 在一系列离散节点 <<<<<n x x x x 210 上的近似值 ,,,,,210n y y y y{}n y 称为问题的数值解,数值解所满足的离散方程统称为差分格式,1--=i i ix x h 称为步长,实用中常取定步长。
显然,只有当初值问题(1)的解存在且唯一时,使用数值解法才有意义,这一前提条件由下 面定理保证。
定理 设函数()y x f ,在区域+∞≤≤-∞≤≤y b x a D ,:上连续,且在区域D 内满足李普希兹(Lipschitz)条件,即存在正数L ,使得对于R 内任意两点()1,y x 与()2,y x ,恒有()()2121,,y y L y x f y x f -≤-则初值问题(1)的解()x y 存在并且唯一。
一、欧拉法(欧拉折线法)若将函数)xy 在点nx处的导数()n x y '用两点式代替, 即()hx y x y x y n n n )()(1-≈'+,再用n y 近似地代替()n x y ,则初值问题(1)变为⎩⎨⎧==++=+ ,2,1,0),()(001n x y y y x hf y y n n n n(2)(2)式就是著名的欧拉(Euler)公式。
以上方法称 为欧 拉法或欧拉折线法。
河北联合大学第9章常微分方程初值问题数值解法§9.3 龙格-库塔法 §9.4 线性多步法1. 什么是p 阶Runge-Kutta 法?写出经典的四阶Runge-Kutta 法。
答:考虑增加计算),(y x f 的次数,就有可能构造出精度较高的近似公式。
构造如下形式的计算公式:),,3,2( ),( ),(11111p i K b h y h a x f K y x f K K c h y y i j j ij n i n i n n p i i i n n (1)其中i ij i c b a ,,都是参数,确定它们的原则是使近似公式在),(n n y x 处的Taylor 展开式与)(x y 在n x 处的Taylor 展开式的前面的项尽可能多地重合。
将式(1)称为p 阶显式Runge-Kutta 方法,简称R-K 方法。
取4 p ,通过更复杂的计算,式(1)成为),( )2,2( )2,2( ),( )22(6342312143211hk y h x f K K h y h x f K K h y h x f K y x f K K K K K h y y n n n n n n n n n n 上式称为经典形式的四阶R-K 公式,是常用的四阶R-K 公式。
局部截断误差为5()O h 。
2. 如何导出线性多步法的公式?它与单步法有何区别?答:(1)利用Taylor 展开构造线性多步方法线性多步法(Linear-Multistep Method)的一般形式为ri i n i r i i n i n f h y y 101 (2)其中i i ,均为常数,),(k k k y x f f ),,,1(r n n n k 。
若01 ,公式(2)为显式法;01 ,公式为隐式法。
利用Taylor 展开导出线性多步公式的基本方法是:将线性多步公式(2)在n x 处进行Taylor 展开,然后与1() n y x 在n x 处的Taylor 展开式相比较,要求它们前面的项重合,由此确定参数i i ,。