计算方法 用欧拉预估-校正法求初值问题
西工大计算方法试题参考(02——08)
西⼯⼤计算⽅法试题参考(02——08)2002-2003第⼀学期⼀.计算及推导(5*8)1.已知* 3.141,x x π==,试确定*x 近似x 的有效数字位数。
2.有效数***1233.105,0.001,0.100x x x =-==,试确定***123x x x ++的相对误差限。
3.已知3()0.50.12f x x x =++,试计算差商[]0,1,2,3f4.给出拟合三点(0,1),(1,0)A B ==和(1,1)C =的直线⽅程。
5.推导中矩形求积公式''31()()()()()224b aa b f x dx b a f f b a η+=-+-? 6.试证明插值型求积公式()()nbi i ai f x dx A f x =≈∑?的代数精确度⾄少是n 次。
7.已知⾮线性⽅程()x f x =在区间[],a b 内有⼀实根,试写出该实根的⽜顿迭代公式。
8.⽤三⾓分解法求解线性⽅程组123121022331302x x x =--??????要⽤⼆次插值多项式计算(0.63891)f 的近似值,试选择合适的插值节点进⾏计算,并说明所选⽤节点依据。
(保留5位有效数字)(12分)三.已知⽅程ln 0x x +=在(0,1)内有⼀实根α(1)给出求该实根的⼀个迭代公式,试之对任意的初始近似0(0,1)x ∈迭代法都收敛,并证明其收敛性。
(2)00.5112233131232a x b a x b a x b =-??????当参数a 满⾜什么条件时,雅可⽐⽅法对任意的初始向量都收敛。
写出与雅可⽐⽅法对应的⾼斯赛德尔迭代公式。
(12分)五.⽤欧拉预估校正法求解初值问题 '2 (00.2)(0)1x y y x y y ?=-≤≤=? 取h=0.1,⼩数点后保留5位。
(8分)六.证明求解初值问题 '00(,)()y f x y y x y ?=?=?的如下单步法12121(,)11(,)22n n n n n n y y K K hf x y K hf x h y K +??=+?=?=++?是⼆阶⽅法。
昆明理工大学—数值分析各年考试题及答案
昆明理工大学数值分析考试题(07)一.填空(每空3分,共30分)1. 设A 0.231x =是真值0.229T x =的近似值,则Ax 有 位有效数字。
2. 若74()631f x x x x =+++,则017[2,2,...2]f = ,018[2,2,...2]f = 。
3. A=1031⎡⎤⎢⎥-⎣⎦,则1A = ;A ∞= ;2A =2()cond A = 。
4. 求方程()x f x =根的牛顿迭代格式是 。
5.设105%x =±,则求函数()f x =的相对误差限为 。
6.A=2101202a a ⎛⎫ ⎪ ⎪ ⎪⎝⎭,为使其可分解为TL L (L 为下三角阵,主对角线元素>0),a 的取值范围应为 。
7.用最小二乘法拟合三点A(0,1),B(1,3),C(2,2)的直线是 。
(注意:以上填空题答案标明题号答在答题纸上,答在试卷上的不给予评分。
)二.推导与计算(一)对下表构造f(x)的不超过3次的插值多项式,并建立插值误差公式。
(12分)(二)已知()x x =Φ和()x 'Φ满足∣()x 'Φ-3∣<1。
请利用()x Φ构造一个收敛的简单迭代函数()x ψ,使1(),0,1,......k k x x k +=ψ=收敛。
(8分)(三)利用复化梯形公式计算21x I e dx -=⎰,使其误差限为60.510-⨯,应将区间[0,1]等份。
(8分)(四)设A= 1001005a b b a ⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,detA ≠0,推导用a ,b 表示解方程组AX=f 的Seidel(G-S) 迭代法收敛的充分必要条件。
(10分)(五)确定节点及系数,建立如下 GAUSS 型求积公式111220()()dx A f x A f x ≈+⎰。
(10分)(六)对微分方程初值问题'00(,)()y f x y y x y ⎧=⎨=⎩(1) 用数值积分法推导如下数值算法:1111(4)3n n n n n hy y f f f +-+-=+++,其中(,)i i i f f x y =,(1,,1)i n n n =-+。
计算方法各习题及参考答案
第二章 数值分析2.1 已知多项式432()1p x x x x x =-+-+通过下列点:试构造一多项式()q x 通过下列点:答案:54313()()()3122q x p x r x x x x x =-=-++-+. 2.2 观测得到二次多项式2()p x 的值:表中2()p x 的某一个函数值有错误,试找出并校正它.答案:函数值表中2(1)p -错误,应有2(1)0p -=.2.3 利用差分的性质证明22212(1)(21)/6n n n n +++=++ .2.4 当用等距节点的分段二次插值多项式在区间[1,1]-近似函数xe 时,使用多少个节点能够保证误差不超过61102-⨯. 答案:需要143个插值节点.2.5 设被插值函数4()[,]f x C a b ∈,()3()h H x 是()f x 关于等距节点01n a x x x b =<<<= 的分段三次艾尔米特插值多项式,步长b ah n-=.试估计()3||()()||h f x H x ∞-.答案:()443||()()||384h M f x H x h ∞-≤.第三章 函数逼近3.1 求()sin ,[0,0.1]f x x x =∈在空间2{1,,}span x x Φ=上最佳平方逼近多项式,并给出平方误差.答案:()sin f x x =的二次最佳平方逼近多项式为-522sin ()0.832 440 710 1.000 999 10.024 985 1x p x x x ≈=-⨯+-,二次最佳平方逼近的平方误差为0.122-1220(sin )())0.989 310 710x p x dx δ=-=⨯⎰.3.2 确定参数,a b c 和,使得积分2121(,,)[I a b c ax bx c -=++-⎰取最小值.答案:810, 0, 33a b c ππ=-== 3.3 求多项式432()251f x x x x =+++在[1,1]-上的3次最佳一致逼近多项式()p x .答案:()f x 的最佳一致逼近多项式为323()74p x x x =++. 3.4 用幂级数缩合方法,求() (11)x f x e x =-≤≤上的3次近似多项式6,3()p x ,并估计6,3||()()||f x p x ∞-.答案:236,3()0.994 574 650.997 395 830.542 968 750.177 083 33p x x x x =+++, 6,3||()()||0.006 572 327 7f x p x ∞-≤3.5 求() (11)xf x e x =-≤≤上的关于权函数()x ρ=的三次最佳平方逼近多项式3()S x ,并估计误差32||()()||f x S x -和3||()()||f x S x ∞-.答案:233()0.994 5710.997 3080.542 9910.177 347S x x x x =+++,32||()()||0.006 894 83f x S x -=,3||()()||0.006 442 575f x S x ∞-≤.第四章 数值积分与数值微分4.1 用梯形公式、辛浦生公式和柯特斯公式分别计算积分1(1,2,3,4)n x dx n =⎰,并与精确值比较.答案:计算结果如下表所示4.2 确定下列求积公式中的待定参数,使得求积公式的代数精度尽量高,并指明所确定的求积公式具有的代数精度. (1)101()()(0)()hh f x dx A f h A f A f h --≈-++⎰(2)11211()[(1)2()3()]3f x dx f f x f x -≈-++⎰ (3)20()[(0)()][(0)()]2h h f x dx f f h h f f h α''≈++-⎰答案:(1)具有三次代数精确度(2)具有二次代数精确度(3)具有三次代数精确度.4.3 设10h x x =-,确定求积公式12300101()()[()()][()()][]x x x x f x dx h Af x Bf x h Cf x Df x R f ''-=++++⎰中的待定参数,,,A B C D ,使得该求积公式的代数精确度尽量高,并给出余项表达式.答案:3711,,,20203020A B C D ====-,(4)6()[]1440f R f h η=,其中01(,)x x η∈.4.4 设2()P x 是以0,,2h h 为插值点的()f x 的二次插值多项式,用2()P x 导出计算积分30()hI f x dx =⎰的数值积分公式h I ,并用台劳展开法证明:453(0)()8h I I h f O h '''-=+. 答案:3203()[(0)3(2)]4h h I p x dx h f f h ==+⎰.4.5 给定积分10sin xI dx x =⎰(1)运用复化梯形公式计算上述积分值,使其截断误差不超过31102-⨯. (2)取同样的求积节点,改用复化辛浦生公式计算时,截断误差是多少?(3)要求的截断误差不超过610-,若用复化辛浦生公式,应取多少个节点处的函数值? 答案:(1)只需7.5n ≥,取9个节点,0.946I ≈(2)4(4)46111|[]||()|()0.271102880288045n b a R f h f η--=-≤=⨯ (3)取7个节点处的函数值.4.6 用变步长的复化梯形公式和变步长的复化辛浦生公式计算积分10sin xI dx x =⎰.要求用事后误差估计法时,截断误不超过31102-⨯和61102-⨯. 答案:使用复化梯形公式时,80.946I T ≈=满足精度要求;使用复化辛浦生公式时,40.946 083I s ≈=满足精度要求.4.7(1)利用埃尔米特插值公式推导带有导数值的求积公式2()()[()()][()()][]212ba b a b a f x dx f a f b f b f a R f --''=+--+⎰,其中余项为 5(4)()[](), (,)4!30b a R f f a b ηη-=∈. (2)利用上述公式推导带修正项的复化梯形求积公式020()[()()]12Nx N N x h f x dx T f x f x ''≈--⎰,其中 0121[()2()2()2()()]2N N N hT f x f x f x f x f x -=+++++ ,而 00, (0,1,2,,), i N x x ih i N Nh x x =+==- .4.8 用龙贝格方法计算椭圆2214x y +=的周长,使结果具有五位有效数字. 答案:49.6884l I =≈.4.9确定高斯型求积公式0011()()()x dx A f x A f x ≈+⎰的节点0x ,1x 及系数0A ,1A .答案:00.289 949x =,10.821 162x =,00.277 556A =,10.389 111A =.4.10 验证高斯型求积公式00110()()()x e f x dx A f x A f x +∞-≈+⎰的系数及节点分别为0001 2 2A A x x ===-=+第五章 解线性方程组的直接法5.1 用按列选主元的高斯-若当消去法求矩阵A 的逆矩阵,其中111210110A -⎛⎫ ⎪= ⎪ ⎪-⎝⎭. 答案: 1110331203321133A -⎛⎫ ⎪ ⎪⎪=- ⎪ ⎪⎪-- ⎪⎝⎭5.2 用矩阵的直接三角分解法解方程组1234102050101312431701037x x x x ⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 答案: 42x =,32x =,21x =,11x =.5.3 用平方根法(Cholesky 分解法)求解方程组12341161 4.25 2.750.51 2.75 3.5 1.25x x x -⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪-=- ⎪⎪ ⎪ ⎪⎪ ⎪⎝⎭⎝⎭⎝⎭答案: 12x =,21x =,31x =-.5.4 用追赶法求解三对角方程组123421113121112210x x x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 答案:42x =,31x =-,21x =,10x =.第六章 解线性代数方程组的迭代法6.1 对方程1212123879897x x x x x x x -+=⎧⎪-+=⎨⎪--=⎩作简单调整,使得用高斯-赛得尔迭代法求解时对任意初始向量都收敛,并取初始向量(0)[0 0 0]T x =,用该方法求近似解(1)k x+,使(1)()3||||10k k x x +-∞-≤. 答案:近似解为(4)[1.0000 1.0000 1.0000]Tx =.6.2 讨论松弛因子 1.25ω=时,用SOR 方法求解方程组121232343163420412x x x x x x x +=⎧⎪+-=⎨⎪-+=-⎩ 的收敛性.若收敛,则取(0)[0 0 0]T x=迭代求解,使(1)()41||||102k k x x +-∞-<⨯. 答案:方程组的近似解为*1 1.50001x =,*2 3.33333x =,*3 2.16667x =-.6.3 给定线性方程组Ax b =,其中111221112211122A ⎛⎫ ⎪ ⎪⎪= ⎪ ⎪ ⎪ ⎪⎝⎭,证明用雅可比迭代法解此方程组发散,而高斯-赛得尔迭代法收敛.6.4 设有方程组112233302021212x b x b x b -⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪= ⎪⎪ ⎪ ⎪⎪ ⎪-⎝⎭⎝⎭⎝⎭,讨论用雅可比方法和高斯-赛得尔方法解此方程组的收敛性.如果收敛,比较哪种方法收敛较快.答案:雅可比方法收敛,高斯-赛得尔方法收敛,且较快.6.5 设矩阵A 非奇异.求证:方程组Ax b =的解总能通过高斯-赛得尔方法得到.6.6 设()ij n nA a ⨯=为对称正定矩阵,对角阵1122(,,,)nn D diag a a a = .求证:高斯-赛得尔方法求解方程组1122D AD x b --=时对任意初始向量都收敛.第七章 非线性方程求根例7.4 对方程230xx e -=确定迭代函数()x ϕ及区间[,]a b ,使对0[,]x a b ∀∈,迭代过程1(), 0,1,2,k x x k ϕ+== 均收敛,并求解.要求51||10k k x x -+-<. 答案:若取2()x x ϕ=,则在[1,0]-中满足收敛性条件,因此迭代法121, 0,1,2,k x k x k +== 在(1,0)-中有惟一解.取00.5x =-,*70.458960903x x ≈=-.取2()x x ϕ=,在[0,1上满足收敛性条件,迭代序列121, 0,1,2,k x k x k +== 在[0,1]中有惟一解.取00.5x =,*140.910001967x x ≈=- 在[3,4]上,将原方程改写为23xe x =,取对数得2ln(3)()x x x ϕ==.满足收敛性条件,则迭代序列21ln(3), 0,1,2,k k x x k +== 在[3,4]中有惟一解.取0 3.5x =, *16 3.733067511x x ≈=.例7.6 对于迭代函数2()(3)x x c x ϕ=+-,试讨论:(1)当c 为何值时,1()k k x x ϕ+=产生的序列{}k x(2)c 取何值时收敛最快?(3)取1,2c =-()x ϕ51||10k k x x -+-<.答案:(1)(c ∈时迭代收敛.(2)c =时收敛最快.(3)分别取1, 2c =--,并取0 1.5x =,计算结果如下表7.7所示表7.7例7.13 设不动点迭代1()k x x ϕ+=的迭代函数()x ϕ具有二阶连续导数,*x 是()x ϕ的不动点,且*()1x ϕ'≠,证明Steffensen 迭代式21(), (), 0,1,2,()2k k k k k k k k k k k y x z x k y x x x z y xϕϕ+==⎧⎪=-⎨=-⎪-+⎩二阶收敛于*x .例7.15 设2()()()()()x x p x f x q x f x ϕ=--,试确定函数()p x 和()q x ,使求解()0f x =且以()x ϕ为迭代函数的迭代法至少三阶收敛.答案:1()()p x f x =',31()()2[()]f x q x f x ''=' 例7.19 设()f x 在[,]a b 上有高阶导数,*(,)x a b ∈是()0f x =的(2)m m ≥重根,且牛顿法收敛,证明牛顿迭代序列{}k x 有下列极限关系:111lim2k kk k k k x x m x x x -→∞-+-=-+.第八章 矩阵特征值8.1 用乘幂法求矩阵A 的按模最大的特征值与对应的特征向量,已知5500 5.51031A -⎛⎫ ⎪=- ⎪ ⎪-⎝⎭,要求(1)()611||10k k λλ+--<,这里()1k λ表示1λ的第k 次近似值.答案:15λ≈,对应的特征向量为[5,0,0]T-;25λ≈-,对应的特征向量为[5,10,5]T --. 8.2 用反幂法求矩阵110242012A -⎛⎫⎪=-- ⎪ ⎪-⎝⎭的按模最小的特征值.知A 的按模较大的特征值的近似值为15λ=,用5p =的原点平移法计算1λ及其对应的特征向量.答案:(1) A 的按模最小的特征值为30.2384428λ≈(2) 1 5.1248854λ≈,对应的特征向量为(8)[0.242 4310, 1 ,0.320 011 7]T U =--.8.3 设方阵A 的特征值都是实数,且满足121, ||||n n λλλλλ>≥≥> ,为求1λ而作原点平移,试证:当平移量21()2n p λλ=+时,幂法收敛最快. 8.4 用二分法求三对角对称方阵1221221221A ⎛⎫ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭的最小特征值,使它至少具有2位有效数字.答案:取5 2.234375λ≈-即有2位有效数字.8.5 用平面旋转变换和反射变换将向量[2 3 0 5]T x =变为与1[1 0 0 0]Te =平行的向量.答案:203/2/00001010/0T ⎛⎫⎪- ⎪=⎪--⎝0.324 442 8400.486 664 26200.811 107 1040.486 664 2620.812 176 04800.298 039 92200100.811 107 1040.298 039 92200.530 266 798H --⎛⎫⎪--⎪= ⎪ ⎪⎪--⎝⎭8.6 若532644445A -⎛⎫⎪=- ⎪ ⎪-⎝⎭,试把A 化为相似的上Hessenberg 阵,然后用QR 方法求A 的全部特征值.第九章 微分方程初值问题的数值解法9.1 用反复迭代(反复校正)的欧拉预估-校正法求解初值问题0, 0<0.2(0)1y y x y '+=≤⎧⎨=⎩,要求取步长0.1h =,每步迭代误差不超过510-. 答案: [4]11(0.1)0.904 762y y y ≈==,[4]22(0.2)0.818 594y y y ≈==9.2 用二阶中点格式和二阶休恩格式求初值问题2, 0<0.4(0)1dy x y x dx y ⎧=+≤⎪⎨⎪=⎩的数值解(取步长0.2h =,运算过程中保留五位小数).答案:用二阶中点格式,取初值01y =计算得0n =时,1211.000 00, 1.200 00, (0.2)=1.240 00K K y y ==≈ 1n =时,1221.737 60, 2.298 72, (0.4)=1.699 74K K y y ==≈用二阶休恩格式,取初值01y =计算得0n =时,1211.000 00, 1.266 67, (0.2)=1.240 00K K y y ==≈ 1n =时,1221.737 60, 2.499 18, (0.4)=1.701 76K K y y ==≈9.3 用如下四步四阶阿达姆斯显格式1123(5559379)/24n n n n n n y y h f f f f +---=+-+-求初值问题, (0)1y x y y '=+=在[0,0.5]上的数值解.取步长0.1h =,小数点后保留8位.答案:4(0.4)0.583 640 216y y ≈=,5(0.5) 1.797 421 984y y ≈=. 9.4 为使二阶中点公式1(,(,))22n n n n n n h hy y hf x y f x y +=+++,求解初值问题 , (0)y y y aλλ'=-⎧⎨=⎩为实常数绝对稳定,试求步长h 的大小应受到的限制条件. 答案:2h λ≤.9.5 用如下反复迭代的欧拉预估-校正格式(0)1(1)()111(,)[(,)(,)]2 0,1,2,; 0,1,2,nn n n k k n n n n n n y y hf x y h y y f x y f x y k n +++++⎧=+⎪⎪=++⎨⎪⎪==⎩,求解初值问题sin(), 01(0)1x y e xy x y '⎧=<≤⎨=⎩时,如何选择步长h ,使上述格式关于k 的迭代收敛. 答案:2h e<时上述格式关于k 的迭代是收敛的.9.6 求系数,,,a b c d ,使求解初值问题0(,), ()y f x y y x a '==的如下隐式二步法221()n n n n n y ay h bf cf df +++=+++的误差阶尽可能高,并指出其阶数.答案:系数为142,,33a b d c ====,此时方法的局部截断误差阶最高,为五阶5()O h .9.7 试用欧拉预估-校正法求解初值问题, (0)=1, 0<0.2()/, (0)2dyxy z y dxx dz x y z z dx⎧=-⎪⎪≤⎨⎪=+=⎪⎩,取步长0.1h =,小数点后至少保留六位.答案:由初值00(0)1, (0)2y y z z ====可计算得110.800 000z 2.050 000y =⎧⎨=⎩ , 11(0.1)0.801 500(0.1) 2.046 951y y z z ≈=⎧⎨≈=⎩ 220.604 820z 2.090 992y =⎧⎨=⎩ , 22(0.2)0.604 659(0.2) 2.088 216y y z z ≈=⎧⎨≈=⎩。
常微分方程初值问题的预估-校正解法[文献综述]
毕业论文文献综述信息与计算科学常微分方程初值问题的预估-校正解法一、前言部分在生产实际和其他数学分支中,都会不断地遇到常微分方程,而在这些方程中,仅有很少的一部分能通过初等积分法给出通解或通积分,大多数积分必须数值计算。
所以,一开始就使用数值方法求解通常更有效]1[。
解常微分方程初值问题的数值方法通常可以分为两类]2[:(1)单步法,例如Euler方法和 Runge-Kutta方法;(2)多步法,例如线性多步法。
我们将同阶的显式公式与隐式公式相比,前者使用方便,计算量较小;而后者一般需用迭代法求解,计算量大,但其局部截断误差较小,稳定性较好。
两种方法各有长处和不足。
因此,常常将它们配合起来使用,以发挥它们的优点,弥补各自的不足]3[。
这样将显式公式和隐式公式联合使用,前者提供预测值,而后者将预测值加以校正,使数值解更精确。
由此形成的算法通常被称作预估-校正算法(简称为PC算法)原则上任一显式多步法和隐式多步法都可以搭配成预估校正算法及各种计算方案,但不是任一种方案都是可用的。
一个好的计算方案应该计算稳定,具有所需的精度,并且节约计算量]4[。
几种常见的预估-校正算法]5[:(1)Adams四阶预估-校正算法;(2)Milne方法(3)Hamming算法。
本文综述常微分初值问题的数值解法及其误差估计(相容性、稳定性和收敛性分析),重点介绍了预估-校正算法。
二、主题部分2.1 常微分方程的起源和发展]6[许多有关微分方程的教材都会提到发现海王星的故事。
海王星的发现是人类智慧的结晶,也是常微分方程巨大作用的体现,体现了数学演绎法的强大威力。
1781年发现天王星后,人们注意到它所在的位置总是和万有引力定律计算出来的结果不符。
于是有人怀疑万有引力定律的正确性;但也有人认为,这可能是受另外一颗尚未发现的行星吸引所致。
当时虽有不少人相信后一种假设,但缺乏去寻找这颗未知行星的办法和勇气。
23岁的英国剑桥大学的学生亚当斯承担了这项任务,他利用引力定律和对天王星的观测资料建立起微分方程,来求解和推算这颗未知行星的轨道。
计算机数值方法试题
一、填空(共20分,每题2分)1、设,取5位有效数字,则所得的近似值x=_____.2、设一阶差商,则二阶差商3、数值微分中,已知等距节点的函数值则由三点的求导公式,有4、求方程的近似根,用迭代公式,取初始值,那么5、解初始值问题近似解的梯形公式是6、,则A的谱半径=,A的=7、设,则=和=8、若线性代数方程组AX=b 的系数矩阵A为严格对角占优阵,则雅可比迭代和高斯-塞德尔迭代都_____9、解常微分方程初值问题的欧拉(Euler)方法的局部截断误差为_____10、设,当时,必有分解式,其中L为下三角阵,当其对角线元素足条件时,这种分解是唯一的。
二、计算题(共60 分,每题15分)1、设(1)试求在上的三次Hermite插值多项式H(x)使满足 H(x)以升幂形式给出。
(2)写出余项的表达式2、已知的满足,试问如何利用构造一个收敛的简单迭代函数,使0,1…收敛?3、试确定常数A,B,C和,使得数值积分公式有尽可能高的代数精度。
试问所得的数值积分公式代数精度是多少?它是否为Gauss型的?4、推导常微分方程的初值问题的数值解公式:三、证明题1、设(1)写出解的Newton迭代格式(2)证明此迭代格式是线性收敛的2、设R=I-CA,如果,证明:(1)A、C都是非奇异的矩阵(2)参考答案:一、填空题1、2、3、4、5、6、7、8、收敛9、O(h)10、二、计算题1、1、(1)(2)2、由,可得因故故,k=0,1,…收敛。
3、,该数值求积公式具有5次代数精确度,它是Gauss型的4、数值积分方法构造该数值解公式:对方程在区间上积分,得,记步长为h,对积分用Simpson求积公式得所以得数值解公式:三、证明题1、证明:(1)因,故,由Newton迭代公式:n=0,1,…得,n=0,1,…(2)因迭代函数,而,又,则故此迭代格式是线性收敛的。
2、证明:(1)因,所以I–R非奇异,因I–R=CA,所以C,A都是非奇异矩阵 (2) 故则有()因CA=I–R,所以C=(I–R)A-1,即A-1=(I–R)-1C又RA-1=A-1–C,故由(这里用到了教材98页引理的结论)移项得结合()、两式,得模拟试题一、填空题(每空2分,共20分)1、解非线性方程f(x)=0的牛顿迭代法具有_______收敛2、迭代过程(k=1,2,…)收敛的充要条件是___3、已知数 e=...,取近似值 x=,那麽x具有的有效数字是___4、高斯--塞尔德迭代法解线性方程组的迭代格式中求______________5、通过四个互异节点的插值多项式p(x),只要满足_______,则p(x)是不超过二次的多项式6、对于n+1个节点的插值求积公式至少具有___次代数精度.7、插值型求积公式的求积系数之和___8、 ,为使A可分解为A=LL T, 其中L为对角线元素为正的下三角形,a的取值范围_9、若则矩阵A的谱半径(A)=___10、解常微分方程初值问题的梯形格式是___阶方法二、计算题(每小题15分,共60分)1、用列主元消去法解线性方程组2、已知y=f(x)的数据如下求二次插值多项式及f()3、用牛顿法导出计算的公式,并计算,要求迭代误差不超过。
(完整word版)计算方法 用欧拉预估-校正法求初值问题
《计算方法》实验指导书实验1 方程求根一、实验目的1.通过对二分法、牛顿法、割线法作编程练习,进一步体会它们各自不同的特点;2.了解二分法,切线法,割线法。
3.能熟练运用二分法,牛顿法进行方程求根4.通过上机调试运行,对方程求根的几种方法程序进行改进。
二、实验要求1.上机前作好充分准备,包括复习编程所需要的语言工具。
2.上机时要遵守实验室的规章制度,爱护实验设备。
3.记录调试过程及结果,记录并比较与手工运算结果的异同。
4.程序调试完后,须由实验辅导教师在机器上检查运行结果。
5.给出本章实验单元的实验报告。
三、实验环境、设备1.硬件设备:IBM PC以上计算机,有硬盘和一个软驱、单机和网络环境均可。
2.软件环境:C语言运行环境。
四、实验原理、方法二分算法计算步骤:(1)输入有根区间的端点a、b及预先给定的精度ε;(2)计算中点x=(a+b)/2;(3)若f(x)f(b)<0,则a=x,转向下一步;否则b=x,转向下一步;(4)若b-a<ε,则输出方程满足精度要求的根x,结束;否则转向步骤(2)。
迭代法:牛顿法:牛顿迭代法是一种逐步线性化方法,即将非线性方程f(x)=0的求根问题归结为计算一系列线性方程的根。
设x k 是方程f(x)=0的一个近似根,将f(x)在x k 处作一阶泰勒展开,即f(x)≈f(x k )+f′(x k )(x- x k )于是得到如下的近似方程f(x k )+f′(x k )(x- x k )=0 (2.7)设f′(x k )≠0,则式(2.7)的解为)()('k k k x f x f x x -= 取x 作为原方程的新的近似根x k+1,即令)()('1k k k k x f x f x x -=+ k=0,1,2, … (2.8)则称式(2.8)为牛顿迭代公式。
用牛顿迭代公式(2.8)求方程近似根的方法称为牛顿迭代法,简称牛顿法,又称切线法。
西工大计算方法精彩试题06-10(含问题详解)
一、考试内容线性方程组和非线性方程(组)的求解、矩阵特征值和特征向量的计算、微积分的计算、微分方程定解问题的求解等,都是工程、科技、统计等实际问题中大量碰到的数学问题,这些问题的精确解很难求出。
而《计算方法》则是一门适合于计算机计算求解的数值方法,它简单可行,能有效求出上述数学问题的近似解。
通过本课程的学习,要求学生能掌握利用计算机求解基本数学问题常用的数值计算方法,学会构造基本的计算格式,并能作一定的误差分析,使学生具备基本的科学计算能力。
主要有:1.了解计算方法的认务和特点;2.熟练掌握方程的的近似解法,包括二分法、迭代法、牛顿迭代法和弦割法3.熟练掌握线性代数方程组的解法,直接解法中的高斯消去法、矩阵的直接三角分解法,平方根分解法,解三对角方程组的追赶法;解线性方程组的迭代法,简单迭代法,雅可比迭代法,赛德尔迭代法,SOR方法及其收敛性4.熟练掌握矩特征值和特征向量的计算,乘幂法与反幂法,古典雅可比方法,雅可比过关法5.熟练掌握插值法,拉格朗日插值法,牛顿插值法,等距节点插值法,埃尔米特插值法,三次样条插值法6.熟练掌握最小二乘法与曲线拟合,掌握矛盾方程组与最小二乘法,数据的多项式拟合,可化为线性拟合模型的曲线拟合7.熟练掌握数值积分与数值微分,包括牛顿-柯特斯求积公式、复化求积公式、龙贝格求积算法、高斯型求积公式和数值微分;8. 熟练掌握常微分方程初值问题数值解法,包括欧拉法与梯形法、泰勒展开法与龙格-库塔法、线性多步法2006-2007第一学期一. 填空1) 近似数253.1*=x 关于真值249.1=x 有____位有效数字;2) 设有插值公式)()(111k nk k x f A dx x f ⎰∑-=≈,则∑=nk kA1=______;(只算系数)3) 设近似数0235.0*1=x ,5160.2*2=x 都是有效数,则相对误差≤)(*2*1x x e r ____;4) 求方程x x cos =的根的牛顿迭代格式为______;5) 矛盾方程组⎪⎩⎪⎨⎧-=+=-=+1211212121x x x x x x 与⎪⎩⎪⎨⎧-=+=-=+121222212121x x x x x x 得最小二乘解是否相同______。
(完整word版)西工大计算方法试题参考(完整版)
2002-2003第一学期一.计算及推导(5*8)1.已知* 3.141,x x π==,试确定*x 近似x 的有效数字位数。
2.有效数***1233.105,0.001,0.100x x x =-==,试确定***123x x x ++的相对误差限。
3.已知3()0.50.12f x x x =++,试计算差商[]0,1,2,3f 4.给出拟合三点(0,1),(1,0)A B ==和(1,1)C =的直线方程。
5.推导中矩形求积公式''31()()()()()224b aa b f x dx b a f f b a η+=-+-⎰ 6.试证明插值型求积公式()()nbi i ai f x dx A f x =≈∑⎰的代数精确度至少是n 次。
7.已知非线性方程()x f x =在区间[],a b内有一实根,试写出该实根的牛顿迭代公式。
8.用三角分解法求解线性方程组123121022331302x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦要用二次插值多项式计算(0.63891)f 的近似值,试选择合适的插值节点进行计算,并说明所选用节点依据。
(保留5位有效数字)(12分) 三. 已知方程ln 0x x +=在(0,1)内有一实根α(1)给出求该实根的一个迭代公式,试之对任意的初始近似0(0,1)x ∈迭代法都收敛,并证明其收敛性。
(2)00.5x =试用构造的迭代公式计算α的近似值n x ,要求3110n n x x ---≤。
四. 设有方程组112233131232a x b a x b a x b ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦当参数a 满足什么条件时,雅可比方法对任意的初始向量都收敛。
写出与雅可比方法对应的高斯赛德尔迭代公式。
(12分) 五.用欧拉预估校正法求解初值问题 '2 (00.2)(0)1x y y x y y ⎧=-≤≤⎪⎨⎪=⎩ 取h=0.1,小数点后保留5位。
偏微分方程数值解例题答案
yyy[y例11110.1[1(101)]0.9,10.1[0.9(10.10.9)]0.9019,1(0.90.9019)0.900952p c y y y ì=-´´+´=ïï=-´´+´=íïï=+=î20.900950.1[0.90095(10.10.90095)]0.80274,0.900950.1[0.80274(10.20.80274)]0.80779,1(0.802740.80779)0.805262p c y y yì=-´´+´=ïï=-´´+´=íïï=+=î 这样继续计算下去,其结果列于表9.1. 表9.1 Euler 方法方法改进的Euler 方法方法准确值准确值n xn yny)(n x y0.1 0.9000000 0.9009500 0.9006235 0.2 0.8019000 0.8052632 0.8046311 0.3 0.7088491 0.7153279 0.7144298 0.4 0.6228902 0.6325651 0.6314529 0.5 0.5450815 0.5576153 0.5563460 0.6 0.4757177 0.4905510 0.4891800 0.7 0.4145675 0.4310681 0.4296445 0.8 0.3610801 0.3786397 0.3772045 0.9 0.3145418 0.3326278 0.3312129 1.0 0.2741833 0.2923593 0.2909884 从表9.1可以看出,Euler 方法的计算结果只有2位有效数字,而改进的Euler 方法确有3位有效数字,这表明改进的Euler 方法的精度比Euler 方法高. 例2 试用Euler 方法、改进的Euler 方法及四阶经典R-K 方法在不同步长下计算初值问题ïîïíì=££+-=1)0(,10),1(d d y x xy y xy 在0.2、0.4、0.8、1.0处的近似值,并比较它们的数值结果. 解 对上述三种方法,每执行一步所需计算)1(),(xy y y x f +-=的次数分别为1、2、4。
计算物理学(刘金远)第5章:微分方程(课后习题及答案)
5.1 计算物理学第5章:微分方程课后习题答案初值问题【5.1.1】采用euler 方法求初值问题'2/, 01(0)1y y x y x y =-££ìí=î【解】取0.1h =,1(,)(2/)n n n n n n n n y y hf x y y h y x y +=+=+-x0.00.10.20.3y 1.000 1.1000 1.1918 1.2774【5.1.2】用euler 预测-校正公式求初值问题22', (0)1y x y y ì=-í=î【解】取0.1h =,1(,)n n n n y y hf x y +=+111(,)n n n n y y hf x y +++=+1000(,)0.9y y hf x y =+=221011(,)10.1(0.10.9)0.92y y hf x y =+=+´-=【5.1.3】用euler 公式和梯形公式建立的预测-校正公式求初值问题'23, 0(0)1y x y x y =+£ìí=î取0.1h =,(1)求(0.1)y ;(2)编程计算0:0.01:2x =【解】1111(,)1[(,)(,)]2n n n n n n n n n n y y hf x y y y h f x y f x y ++++=+=++10001000110.1(23) 1.30.05[(23)(23)]1.355y y x y y y x y x y =++==++++=【5.1.4】用显式Euler 方法,梯形方法和预估-校正Euler 方法给出求初值问题1,01(0)1d y y x x dx y ì=-++<<ïíï=î的迭代公式(取步长0.1h =)【解】取0.1h =,,0,1,k x kh k ==L ,(1)显式Euler 方法12(,)(1)(1)k k k k k k k y y hf x y y h y kh y h kh h+=+=+-++=-++1911010010k k k y y +=++(2)梯形方法为1121()2(2)(21)2219112110510k k k k k k k h y y f f h y k h h y hy k +++=++-+++=+=++(3)预估-校正Euler 方法为1111(,)[(,)(,)],20,1,,1x k k k k k k k k k k k y y h f x y h y y f x y f x y k n ++++=+ìïï=++íï=-ïîL 221(1/2)(/2)0.9050.00950.1k k k y y h h kh h h hy k +=-++-+=++【5.1.5】考虑下面初值问题2'''(0)1;'(0)2y y y t y y ì=-++í==î使用中点RK2,取步长0.1h =,求出()y h 的近似值【解】00,0.1t h =='y u y æö=ç÷èø,012u æö=ç÷èø,2''(,)'y u f t u y y t æö==ç÷-++èø,1002(,)1k f t u æö==ç÷èø,2001212 1.111(,)(0.05,0.05)(0.05,)21 2.0522 2.05 2.050.891.1 2.050.05k f t h u hk f f æöæöæö=++=+=ç÷ç÷ç÷èøèøèøæöæö==ç÷ç÷-++èøèø102 1.2052.089u u hk æö=+=ç÷èø,1(0.1) 1.205y y ==【5.1.6】考虑下面初值问题2'''2''(0)1;'(0)0,''(0)2y y y t y y y ì=++í===-î使用中点RK2,取步长0.2h =,求出()y h 的近似值【解】00,0.2t h ==取表示符号'''y u y y æöç÷=ç÷ç÷èø,2''(,)''2''y u f t u y y y t æöç÷==ç÷ç÷++èø,0102u æöç÷=ç÷ç÷-èø,010002000'()0(,)''()262()''()y t k f t u y t y t y t t æöæöç÷ç÷===-ç÷ç÷ç÷ç÷++èøèø200121011(,)(0.1,00.12)2226 10.20.2(0.1,0.2) 1.4 1.41.4 3.9721( 1.4)0.1k f t h u hk f f æöæöç÷ç÷=++=+-ç÷ç÷ç÷ç÷-èøèøæö--æöæöç÷ç÷ç÷=-=-=-ç÷ç÷ç÷ç÷ç÷ç÷-´+-èøèøèø1020.960.281.206u u hk æöç÷=+=-ç÷ç÷-èø,(0.2)0.96y =【5.1.7】采用Rk4编程求下列微分方程的初值问题:(1)23'1, (0)0y y x y =++=(2)2'2(1), (1)2y y x y =+--=(3)'', ()0,'()3y y y y p p =-==【5.1.8】求下面微分方程组的数值解2323'2'4(0)1,(0)0x x y t t t y x y t tx y ì=-+--ï=+-+íï==î补充题【5.1.1】对微分方程'(,)y f x y =用Sinpson 求积公式推出数值微分公式【解】{}111111111'(,)4(,)(,)3n n x n n n n n n n n x y dx y y h f x y f x y f x y +-+---++=-=++ò【5.1.2】用标准的4阶龙格库塔方法求初值问题',(0)1y x y y =+ìí=î,取0.1h =,计算出(0.2)y 【解】()1123422/6i i y y h k k k k +=++++1213243(,)(/2,/2)(/2,/2)(,)i i i i i i i i k f x y k f x h y hk k f x h y hk k f x h y hk ==++=++=++'(,)y f x y x y ==+,00(,)(0,1)x y =100200130024003(,)1(/2,/2) 1.1(/2,/2) 1.105(,) 1.2105k f x y k f x h y hk k f x h y hk k f x h y hk ===++==++==++=()10123422/6 1.1103y y h k k k k =++++=,11(,)(0.1,1.1103)x y =111211*********(,) 1.2103(/2,/2) 1.3208(/2,/2) 1.3263(,) 1.4429k f x y k f x h y hk k f x h y hk k f x h y hk ===++==++==++=()2112342(0.2)22/6 1.2428y y y h k k k k y ==++++==然后由22(,)(0.2,1.2428)x y =计算3(0.3)y y =,。
计算方法实验六常微分方程的改进欧拉法实验报告
实验报告学院:电子信息工程实验课程:计算方法学生姓名:学号:专业班级:通信工程实验六 常微分方程的改进欧拉法 1 目的与要求(1)进一步理解和掌握求解常微分方程初值问题的有关方法和理论。
(2)完成对改进的欧拉方法求解常微分方程的程序设计。
2 实验内容用改进的欧拉方法求解初值问题3 实验原理梯形公式:1111111(,)[(,())(,())]()2[(,())(,())]2i i x i i i i i i x i i i i f x y dx f x y x f x y x x x h f x y x f x y x ++++++≈+-=+⎰1111[(,)(,)]2i i i i i i y y h f x y f x y +++=++梯形公式是隐式的,用迭代法求解计算量较大。
实际中常将欧拉公式和梯形公式联合使用,先用欧拉公式得一个y(xi+1)的近似值 1+i y ,称为预估值,然后对预估值使用梯形公式对它进行调整,得到更为精确的近似值yi+1,称之为校正值。
计算公式为:[]⎪⎩⎪⎨⎧=++=+=++++,...2,1,0),(),(2),(1111i y x f y x f h y y y x hf y y i i i i i i i i i i为了便于编写程序,常将上面的公式改写为如下式:11(,)(,)()/2p i i i c i i p i p c y y hf x y y y hf x y y y y ++⎧=+⎪=+⎨⎪=+⎩4 程序设计(1)流程图常微分方程的改进欧拉法程序流程图(2)程序代码#include<stdio.h>#include<math.h>float daoshu(float x,float y){float d;d=10*x*(1-y);return d;}void main(){float h,x1,x2,c;float y,y1,y2,y3;int a,b,i;a=0;b=1;printf("请输入步长h:\n");printf("h=");scanf("%f",&h);printf("\n");y=0;x1=a;c=(b-a)/h;printf("输出改进欧拉方法的结果\n"); for(i=0;i<=c;i++){y1=y+h*daoshu(x1,y);x2=x1+h;y2=y+h*daoshu(x2,y1);y3=(y1+y2)/2;printf(" %d %lf %6.4f %6.4f\n",i,x 1,y,y3);y=y1;x1=x1+h;}return 0;}5 实验结果与分析当步长为0.2时,实验结果为步长为0.1时,实验结果为分析:(1)在完成数值积分的编程实验中,编写了一个子函数daoshu 函数,并用main函数进行调用,较为简单的实现了常微分方程的改进欧拉法的编程任务。
第六章_常微分方程初值问题的数值解法_习题课
h2 h3 y ( x n ) y ( x n ) O(h 4 ) 2 6 而且 y ( x n ) f ( x n , y ( x n )) , y ( x n 1 ) f ( x n 1 , y ( x n 1 )) ,对 y ( x n 1 ) 也在 x n 处作 Talor 展开, y ( x n 1 ) y ( x n ) hy ( x n )
湖北民族学院理学院《数值计算方法》教学辅导材料
陈以平编写
h2 h3 y ( x n ) y ( x n ) O(h 4 ) 2 6 h h h2 h3 y ( x n ) y ( x n ) y ( x n ) y ( x n ) y ( x n ) O(h 4 ) 2 2 2 12 h3 y ( x n ) O(h 4 ) O(h 3 ) 12 h3 所以,梯形公式是 2 阶方法,其截断误差的主项是 y ( x n ) 。 12 y ( x n ) hy ( x n )
y k (0.9 0.1y k sin x k ) 0.1( y k 1 y k 1 sin x k 1 )
2
当 k=0,x0=1, y0=1 时,x1=1.2,有 y y (. . y sin x ) (. sin ) .
y f ( x, y ) 3.求解初值问题 欧拉法的局部截断误差是( y ( x ) y 改进欧拉法的局部截断误差是( ); 四阶龙格-库塔法的局部截断误差是( ). (A)O(h2) (B)O(h3) (C)O(h4) (D)O(h5)
4. 改进欧拉法的平均形式公式是( ) y p y k hf ( x k , y k ) y p y k hf ( x k , y k ) (B) y c y k hf ( x k , y p ) .(A) y c y k hf ( x k , y p ) y k ( y p y c ) y k ( y p y c ) y p y k hf ( x k , y k ) y p y k hf ( x k , y k ) (C) y c y k hf ( x k , y p ) (D) y c y k hf ( x k , y p ) y k h ( y p y c ) y k ( y p y c ) (D) 答案:
用欧拉法求一阶微分方程初值问题
用欧拉法求一阶微分方程初值问题
已知一阶微分方程为:y′(x)=f(x,y)
给定初值条件:y(x0)=y0
欧拉法的基本思想是,用y(x0)的近似值yn代替真实值,从而在每一步中得到y′(xn)的近似值。
具体步骤如下:
1.初始步:取x0和y0的值,令n=0,计算y0=y(x0)。
2.递推步:根据欧拉法公式递推得到下一步的x和y的值:
3.xn+1=xn+h
4.yn+1=yn+h⋅f(xn,yn)
5.其中,h为步长,通常取为1。
6.终止步:当达到所需的精度或达到预定的计算步数时,停止迭代。
否则,令n=n+1并返回第二步。
7.现在我们用欧拉法来求解一个具体的一阶微分方程初值问题。
8.例如,考虑以下一阶微分方程:
9.y′(x)=2x+y,y(0)=1
10.我们取步长h=1,初始值x0=0,y0=1。
11.根据欧拉法公式,可以得到以下迭代步骤:
12.x1=x0+h=1,y1=y0+h(2x0+y0)=3
13.x2=x1+h=2,y2=y1+h(2x1+y1)=7
14.x3=x2+h=3,y3=y2+h(2x2+y2)=13
15....
16.每一步迭代后,我们得到了一个新的(x,y)值。
通过多次迭代,我们可以得到y(x)的近似解。
euler法解初值问题
Euler法解初值问题1.简介在数学上,初值问题是求解常微分方程的一种常见方法。
E ule r法是一种基本的数值解法,用于逼近常微分方程的解。
本文将介绍E ul er法的基本原理和应用,以及如何使用Eu ler法解决初值问题。
2. Eu ler法的原理E u ler法的基本思想是将微分方程的解近似为一系列有限步长的步进。
对于给定的初始条件,E ul er法通过计算每一步的斜率来逼近微分方程的解。
具体步骤如下:1.确定初始条件:给定微分方程的初始值,例如初始时刻的位置和速度。
2.确定步长:选择一个合适的步长$h$,表示近似解在每个步骤中的前进距离。
3.迭代计算:使用微分方程的导数公式,根据当前位置和速度计算下一个位置和速度。
3. Eu ler法的算法E u le r法的算法如下:输入:微分方程,初始条件,步长输出:近似解1.初始化初始条件2.根据微分方程的导数公式计算斜率3.根据初始条件和步长更新位置和速度4.重复步骤2和3,直到达到指定的迭代次数或满足终止条件5.输出近似解4. Eu ler法的应用举例4.1.经典物理力学问题假设一个物体在空气中自由下落,可以使用以下微分方程来描述其运动:v'=gx'=v其中,$v$为速度,$x$为位置,$g$为重力加速度。
如果给定初始速度和位置,使用E ul er法可以逼近物体在一段时间内的运动轨迹。
通过迭代计算每个步骤的位置和速度,可以得到物体的近似位置。
4.2.生物学应用在生物学中,很多生物体的种群增长可以用以下微分方程来描述:d p/d t=rp(1-p/K)其中,$p$表示种群数量,$t$表示时间,$r$表示增长率,$K$表示环境容量。
使用Eu le r法可以逼近种群数量随时间变化的情况。
通过迭代计算每个步骤的种群数量,可以得到种群数量随时间的近似曲线。
5.总结本文介绍了E ul er法解初值问题的基本原理和应用。
通过将微分方程的解近似为一系列有限步长的步进,E ule r法可以逼近微分方程的解。
昆明理工大学数值分析各年考试题及答案
昆明理工大学数值分析考试题(07)一.填空(每空3分,共30分)1. 设A 0.231x =是真值0.229T x =的近似值,则A x有 位有效数字。
2. 若74()631f x x x x =+++,则017[2,2,...2]f =,018[2,2,...2]f = 。
3. A=1031⎡⎤⎢⎥-⎣⎦,则1A = ;A ∞= ;2A = 2()cond A = 。
4. 求方程()x f x =根的牛顿迭代格式是 。
5.设105%x =±,则求函数()f x =的相对误差限为 。
6.A=2101202a a ⎛⎫⎪ ⎪ ⎪⎝⎭,为使其可分解为TL L (L 为下三角阵,主对角线元素>0),a 的取值范围应为 。
7.用最小二乘法拟合三点A(0,1),B(1,3),C(2,2)的直线是 。
(注意:以上填空题答案标明题号答在答题纸上,答在试卷上的不给予评分。
) 二.推导与计算(一)对下表构造f(x)的不超过3次的插值多项式,并建立插值误差公式。
(12分)(二)已知()x x =Φ与()x 'Φ满足∣()x 'Φ-3∣<1。
请利用()x Φ构造一个收敛的简单迭代函数()x ψ,使1(),0,1,......k k x x k +=ψ=收敛。
(8分) (三)利用复化梯形公式计算21x I e dx -=⎰,使其误差限为60.510-⨯,应将区间[0,1] 等份。
(8分)(四)设A= 1001005a b b a ⎡⎤⎢⎥⎢⎥⎢⎥⎣⎦,detA ≠0,推导用a ,b 表示解方程组AX=f 的Seidel(G-S) 迭代法收敛的充分必要条件。
(10分) (五)确定节点与系数,建立如下 GAUSS 型求积公式111220()()A f x A f x ≈+⎰。
(10分) (六)对微分方程初值问题'00(,)()y f x y y x y ⎧=⎨=⎩(1) 用数值积分法推导如下数值算法:1111(4)3n n n n n hy y f f f +-+-=+++,其中(,)i i i f f x y =,(1,,1)i n n n =-+。
计算方法试题
2002-2003第一学期一.计算及推导(5*8)1.已知* 3.141,x x π==,试确定*x 近似x 的有效数字位数。
2.有效数***1233.105,0.001,0.100x x x =-==,试确定***123x x x ++的相对误差限。
3.已知3()0.50.12f x x x =++,试计算差商[]0,1,2,3f 4.给出拟合三点(0,1),(1,0)A B ==和(1,1)C =的直线方程。
5.推导中矩形求积公式''31()()()()()224baa b f x dx b a f f b a η+=-+-⎰6.试证明插值型求积公式()()nbi i ai f x dx A f x =≈∑⎰的代数精确度至少是n 次。
7.已知非线性方程()x f x =在区间[],a b 内有一实根,试写出该实根的牛顿迭代公式。
8.用三角分解法求解线性方程组123121022331302x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦二.给出下列函数值表要用二次插值多项式计算(0.63891)f 的近似值,试选择合适的插值节点进行计算,并说明所选用节点依据。
(保留5位有效数字)(12分)三. 已知方程ln 0x x +=在(0,1)内有一实根α(1)给出求该实根的一个迭代公式,试之对任意的初始近似0(0,1)x ∈迭代法都收敛,并证明其收敛性。
(2)00.5x =试用构造的迭代公式计算α的近似值n x ,要求3110n n x x ---≤。
四. 设有方程组112233131232a x b a x b a x b ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦(1) 当参数a 满足什么条件时,雅可比方法对任意的初始向量都收敛。
(2) 写出与雅可比方法对应的高斯赛德尔迭代公式。
(12分) 五.用欧拉预估校正法求解初值问题'2 (00.2)(0)1x y y x y y ⎧=-≤≤⎪⎨⎪=⎩取h=0.1,小数点后保留5位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《计算方法》实验指导书实验1 方程求根一、实验目的1.通过对二分法、牛顿法、割线法作编程练习,进一步体会它们各自不同的特点;2.了解二分法,切线法,割线法。
3.能熟练运用二分法,牛顿法进行方程求根4.通过上机调试运行,对方程求根的几种方法程序进行改进。
二、实验要求1.上机前作好充分准备,包括复习编程所需要的语言工具。
2.上机时要遵守实验室的规章制度,爱护实验设备。
3.记录调试过程及结果,记录并比较与手工运算结果的异同。
4.程序调试完后,须由实验辅导教师在机器上检查运行结果。
5.给出本章实验单元的实验报告。
三、实验环境、设备1.硬件设备:IBM PC以上计算机,有硬盘和一个软驱、单机和网络环境均可。
2.软件环境:C语言运行环境。
四、实验原理、方法二分算法计算步骤:(1)输入有根区间的端点a、b及预先给定的精度ε;(2)计算中点x=(a+b)/2;(3)若f(x)f(b)<0,则a=x,转向下一步;否则b=x,转向下一步;(4)若b-a<ε,则输出方程满足精度要求的根x,结束;否则转向步骤(2)。
迭代法:牛顿法:牛顿迭代法是一种逐步线性化方法,即将非线性方程f(x)=0的求根问题归结为计算一系列线性方程的根。
设x k 是方程f(x)=0的一个近似根,将f(x)在x k 处作一阶泰勒展开,即f(x)≈f(x k )+f′(x k )(x- x k )于是得到如下的近似方程f(x k )+f′(x k )(x- x k )=0 (2.7)设f′(x k )≠0,则式(2.7)的解为)()('k k k x f x f x x -= 取x 作为原方程的新的近似根x k+1,即令)()('1k k k k x f x f x x -=+ k=0,1,2, … (2.8)则称式(2.8)为牛顿迭代公式。
用牛顿迭代公式(2.8)求方程近似根的方法称为牛顿迭代法,简称牛顿法,又称切线法。
五、实验内容1. 以方程:x 3-0.2x 2-0.2x-1.2=0为例,编写程序求方程的根图2 牛顿法框图图 2.3 迭代法框图2.编写二分法、迭代法、牛顿法程序,分析运行结果。
3.对用这两种方法求解出的根进行对比分析六、实验步骤1.根据实验题目,给出题目的C程序。
2.上机输入和调试自己所编的程序。
3.上机结束后,应整理出实验报告。
七、实验报告要求及记录、格式按金陵科技学院《实验报告(工科)》格式填写附1:牛顿法程序核心部分:for(i=0;i<N;i++){printf("x(%d)=%f\n",i,x1);x1=x0-f(x0)/f1(x0); /*牛顿迭代*/if(fabs(x1-x0)<epsilon||fabs(f(x1))<epsilon){printf("\n The root of the equation is x=%f\n",x1);/*满足精度,输出近似根*/return;}x0=x1;}实验2 线性方程组数值解法一、实验目的1.掌握方程组的解法,迭代法及其收敛性。
2.能熟练掌握高斯消去法,列主元高斯消去法,三角分解法。
3.掌握雅可比迭代法,高斯=赛德尔迭代求线性方程组的解。
二、实验要求1.上机前作好充分准备,比较不用的方法解决相同问题的不同。
2.上机时要遵守实验室的规章制度,爱护实验设备。
3.记录调试过程及结果,记录并比较与手工运算结果的异同。
4.程序调试完后,须由实验辅导教师在机器上检查运行结果。
5.给出本章实验单元的实验报告。
三、实验设备、环境1.硬件设备:IBM PC 以上计算机,有硬盘和一个软驱、单机和网络环境均可。
2.软件环境: C 语言运行环境。
四、实验原理、方法1、高斯消去法:1)计算步骤(1)输入方程组的阶数n ,系数矩阵A和右端常数矩阵b(2)消元过程:设0)(≠k kka ,对k=1,2,…,n-1计算⎪⎩⎪⎨⎧-=-==++)()()1()()()1()(/k k ik k i k i k kj ik k ij k ij kkk k ik ik b m b b a m a a a a m i,j=k+1,k+2,…,n(3)回代过程⎪⎪⎩⎪⎪⎨⎧-=-==∑+=1,2,,1,/)()(1)()()()( n i a x a b x a b x i ii ni j j i ij i i i n nn n n n(4)输出方程组的解高斯消去法框图2、列主元高斯消去法(1)、输入方程组的阶数n ,系数矩阵A和右端常数矩阵b (2)、列主元素:对k=1,2,…,n-1,选出{})1()1(,1)1(,,,--+-k nkk k k k kka a a 中绝对值最大的元素)1(,-k k m a ,对k 行和m 行交换后,再作第k 步消元操作。
(3)、消元过程:对k=1,2,…,n-1计算⎪⎩⎪⎨⎧-=-==++)()()1()()()1()()(/k k ik k i k ik kj ik k ij k ij k kk k ik ik b m b b a m a a a a m (i,j=k+1,k+2,…,n ) (4)、回代过程⎪⎪⎩⎪⎪⎨⎧-=-==∑+=)1,2,,1(/)()(1)()()()( n i a x ab x a b x i ii ni j j i ij i i i n nn n n n(5)、输出方程组的解3、三角分解法:(1)根据方程组得到增广矩阵 (2)对j=1,2,…,n 计算j j a u 11=对i=2,3,…,n 计算1111u al i i =(3)对k=1,2,…,na.对j=k,k+1,…,n+1计算∑-=-=11k q qjkqkj kj u la ub.对i=k+1,k+2,…,n 计算kkk q qkiq ik ik u u la l /)(11∑-=-=(4)回代计算解nn n n u y x /=,对k=n-1,n-2,…,2,1计算kk nk q qkq k k u x uy x /)(1∑+=-=列主元框图从主程序来五、实验内容1.求解方程组:(1)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡6810922282217321x x x (2)⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡---1098408.004.015.0309.008.024.04321x x x2.编写高斯消去法、三解分解法程序,分析运行结果。
3.调试运行列主元高斯消去法、列主元三解分解法算法程序。
4.并用上述几种算法程序计算出上面两个方程组的解。
六、实验步骤1. 根据实验题目,给出解决问题的程序代码。
2. 上机输入和调试自己所编的程序。
3. 上机结束后,应整理出实验报告。
七、实验报告要求及记录、格式按金陵科技学院《实验报告(工科)》格式填写 附1:列主元高斯消去法源程序:/****************************************************/ /* 列主元高斯消去法求线性方程组的解 */ /****************************************************/ #include <stdio.h> #include <math.h>#define Max_N 10 /*方程组最大维数*/ /*列主元高斯消去法函数*/void ColPivot(float A[Max_N][Max_N],float B[],int n) { int i,j,k,m_i; float m_x,temp; for(i=0;i<n-1;i++) { /*列主元*/j=i+1; m_i=i; m_x=fabs(A[i][i]); for(;j<n;j++)if(fabs(A[j][i]>m_x)) /*找主元素*/ {m_i=j;m_x=fabs(A[j][i]); }if(i<m_i) /*交换两行*/ { temp=B[i]; B[i]=B[m_i]; B[m_i]=temp; for(j=i;j<n;j++){ temp=A[i][j]; A[i][j]=A[m_i][j]; A[m_i][j]=temp; } } /*消元*/for(j=i+1;j<n;j++){ temp=-A[j][i]/A[i][i];B[j]+=B[i]*temp;for(k=i;k<n;k++)A[j][k]+=A[i][k]*temp;}}}main() /*主函数*/{ int i,j,k,n;float a[Max_N][Max_N],b[Max_N],x[Max_N];printf("\nPlease input n value(dim of Ax=b):"); /*输入矩阵维数*/ do{ scanf("%d",&n);if(n>Max_N)printf("\nplease re-input n value:");}while(n>Max_N||n<=0);/*输入Ax=b的A矩阵*/printf("Input the A(i,j):\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);/*输入b矩阵*/printf("Input b(i):\n");for(i=0;i<n;i++) scanf("%f",&b[i]);ColPivot(a,b,n); /*调用列主元消去法函数计算方程组的解*/ x[n-1]=b[n-1]/a[n-1][n-1]; /*解方程*/for(i=n-2;i>=0;i--){ x[i]=b[i];for(j=i+1;j<n;j++)x[i]-=a[i][j]*x[j];x[i]/=a[i][i];}printf("Solve is :"); /*输出方程组的解*/for(i=0;i<n;i++){printf("x[%d]=%f ",i,x[i]);if(i%2==0)printf("\n");}}/*--------------------End of file------------------------*//*Please input n value(dim of Ax=b):3Input the A(i,j):2 1 11 3 21 2 2Input b(i):4 6 5Solve is:x[0]=1.000000x[1]=1.000000 x[2]=1.000000*/附2:三角分解法源程序:/*******************************************************/ /* 直接三角分解法(LU分解法)求线性方程组的解*/ /******************************************************/#include <stdio.h>#include <math.h>#define Max_N 10 /*最大维数*//*直接三角分解法函数*/float *DirectLU(float a[Max_N][Max_N],float b[],int n){int i,j,k;float y[Max_N],L[Max_N][Max_N],U[Max_N][Max_N],x[Max_N];/*U矩阵对角元素赋值为1*/for(i=0;i<n;i++) U[i][i]=1;for(k=0;k<n;k++){ for(i=k;i<n;i++) /*计算L矩阵的第k列元素*/{ L[i][k]=a[i][k];for(j=0;j<=k-1;j++)L[i][k]-=(L[i][j]*U[j][k]);}for(j=k+1;j<n;j++) /*计算U矩阵的第k行元素*/{ U[k][j]=a[k][j];for(i=0;i<=k-1;i++)U[k][j]-=(L[k][i]*U[i][j]);U[k][j]/=L[k][k];}}for(i=0;i<n;i++) /*计算Ly=b中的y*/{y[i]=b[i];for(j=0;j<=i-1;j++)y[i]-=(L[i][j]*y[j]);y[i]/=L[i][i];}for(i=n-1;i>=0;i--) /*计算Ux=y中的x*/{x[i]=y[i];for(j=i+1;j<n;j++)x[i]-=(U[i][j]*x[j]);}return(x);}main() /*主函数*/{ int i,j,k,n;float temp;float a[Max_N][Max_N],b[Max_N],*x;printf("\nPlease input n value(dim of Ax=b):"); /*输入矩阵维数*/ do{ scanf("%d",&n);if(n>Max_N)printf("\nplease re-input n value:");}while(n>Max_N||n<=0);/*输入Ax=b的A矩阵*/printf("Input the A(i,j):\n");for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%f",&a[i][j]);/*输入b矩阵*/printf("Input b(i):\n");for(i=0;i<n;i++) scanf("%f",&b[i]);x=DirectLU(a,b,n); /*调用直接三角分解法函数*/printf("Solve is :"); /*输出方程组的解*/for(i=0;i<n;i++){printf("x[%d]=%f",i,x[i]);if(i%2==0)printf("\n");}}/*-------------------------- End of file ----------------------------*//*程序输入输出:Please input n value(dim of Ax=b):3Input the A(i,j):2 1 11 3 21 2 2Input b(i):4 6 5Solve is:x[0]=1.000000x[1]=1.000000 x[2]=1.000000*/实验3 插值法一、实验目的1.掌握插值函数的概念,插值多项式的唯一性。