数值分析历届考题03-04学年秋季学期一.简答题(每小题5分)1. 数值计算中要注意哪些问题。
答:第一、两个相近的数应避免相减。
第二、绝对值很小的数应避免作除数。
第三、注意选取适当的算法减少运算次数。
第四、两个绝对值相差很大的数运算时,注意“机器零”的问题。
第五、注意算法的收敛性和稳定性。
2. 用迭代法求解非线性方程0)(=x f 时,迭代收敛的条件是什么,可以用什么方法来确定初值0x 。
答:对于非线性方程0)(=x f (其迭代格式为)(x g x =),如果满足: (1) 当],[b a x ∈时,],[)(b a x g ∈;(2) )(x g '在],[b a 上连续,且对任意的],[b a x ∈都有1)(<≤L x g 。
则有结论:对任意给定的],[0b a x ∈,由迭代格式)(1k k x g x =+,k=0,1,2,…产生的序列{}k x 收敛于*x ,即迭代收敛。
可以用二分法来确定初值0x 。
3. 用消元法求解线性方程组时,为什么要选主元。
答: 因为用简单高斯消元法求得的近似解与精确解相差甚远,其主要原因是绝对值很小的数作除数,导致了误差的快速增长。
为了避免这种情况的发生,我们可以通过行交换,在需要消元的列中,取绝对值最大者作为主对角线元素(即主元),计算效果将得到改善。
4. 矩阵的条件数是什么,它对求解线性方程组有什么影响。
答:对于n 阶可逆方阵A ,正实数||A ||||1-A ||称为A 的条件数,记为cond(A)。
条件数对于线性方程组Ax=b 的影响如下:bb A cond xx∆≤∆)(,其中b ∆为A 精确时b 产生的误差;AAA cond x x ∆≤∆)( ,其中A ∆为b 精确时A 产生的误差。
5. 把下列二阶常微分方程的初值问题⎪⎩⎪⎨⎧='=-=-+'--''2)0(,1)0(1111y y x y x y x x y 化为一阶常微分方程组,并写出求解该方程的改进Euler 方法。
答:令⎩⎨⎧'==)()()()(21x y x u x y x u则⎪⎩⎪⎨⎧-+--='='11)()()()(12221x x x u x xu x u u x u ,其中⎩⎨⎧==2)0(1)0(21u u 。
所以用改进的Euler 方法表示为:⎪⎪⎪⎭⎫ ⎝⎛-+--+=)1(1)(1)(2)(2)(i i i i i i p x x u xu u h y y ,)()(1x y x u p =,)()(2x y x u p '=,⎪⎪⎪⎭⎫ ⎝⎛-+--+=++)1(111)(1)(2)(2)(i i i i i i c x x u u x u h y y ,)(21)1(c p i y y y +=+。
二.(20分)给出数据表求一个满足插值条件的三次插值多项式,并写出余项公式。
解:先求出满足函数值插值条件)()(2i x f x P =,i=0,1,2的二次插值多项式)(2x P 。
由牛顿插值公式:],,[))((],[)()()(2101010002x x x f x x x x x x f x x x f x P --+-+=22)1(22+-=-+-=x x x x x令))()(()()(21023x x x x x x A x P x H ---+=,其中A 是待定常数,则))((22)(2101113x x x x A x x H --+-=',由已知条件1)(1-='x f ,代入可得:1)21()01(1=-⨯--=A ;所以22)2)(1(22)(2323+-=--++-=x x x x x x x x H 。
其插值余项为)2()1(!4)()(2)4(--=x x x f x R ξ,其中)2,0(∈ξ。
三. (20分)给出数据表用最小二乘法求拟合曲线xba y+=1(保留3位小数)。
解:对于曲线x b a y+=1,令y z 1=,xt 1=,得bt a z +=。
把x ,y 的数据转换为t ,z 的数据(取3位有效数字):对于bt a z +=,其法方程组为:⎪⎪⎩⎪⎪⎨⎧=+=+∑∑∑∑∑=====414124141414i i i i i i i i i i i z t t b t a z t b a ; 其中:50.1941=∑=ii t ,25.135412=∑=ii t ,76.541=∑=ii z ,08.2441=∑=ii i z t数据代入后得法方程组为⎩⎨⎧=+=+08.2425.1355.1976.55.194b a b a ;解得⎩⎨⎧-==0995.093.1b a 。
所以拟合曲线为xy0995.093.11-=。
四.(15分)确定下列求积公式的系数1k ,2k ,3k ,使公式成为Guass 型求积公式⎰-++-=11321)6.0()0()6.0()(f k f k f k dx x f 。
解:通过待定系数法:当1)(≡x f 时,有3212k k k ++= (1) 当x x f =)(时,有316.06.00k k +-= (2)当2)(x x f =时,有316.06.032k k += (3) 由此得到一个关于未知数1k ,2k ,3k 的线性方程组:⎪⎪⎩⎪⎪⎨⎧=+=+-=++326.06.006.06.023131321k k k k k k k ;解得⎪⎩⎪⎨⎧===55555556.088888889.055555556.0321k k k 。
五.(20分)证明:对任意参数t (1≠t )下列求解常微分方程初值问题的算法,其局部截断误差都是c :))1(2,)1(2()1(),(1i i i i i i i f t hy t hx hf t y x thf y y -+-+-++=+。
证:令⎪⎩⎪⎨⎧-+-+==))1(2,)1(2(),(121t hK y t hx f K y x f K i i i i , 则211)1(hK t thK y y i i -++=+(1)对2K 作泰勒展开得:)(),()1(2),()1(2),(212h O yy x f t hK x y x f t hy x f K i i i i i i +∂∂⋅-+∂∂⋅-+=。
代入到(1)式中:)(),(2),(2)1(3122111h O yy x f K h x y x f h hK t thK y y i i i i i i +∂∂⋅+∂∂⋅+-++=+由于)(]))(,())(,())(,([2))(,()()(321h O yx y x f x y x f x x y x f h x y x hf x y x y i i i i i i i i i i +∂∂+∂∂++=+在i i y x y =)(的条件下)()()()(33311h O h O h O y x y i i =-=-++。
即对任意参数t ,上述求解微分方程初值问题的算法其局部截断误差都是)(3h O 。
六.(16分)证明:下列求解常微分方程初值问题的数值方法,其局部截断误差为)(3h O 。
)],(41),(47[)(211111---+-++=i i i i i i i y x f y x f h y y y 证:)),(,(),(11i i i i i i y x hf y h x f y x f --=--)()],(),(),([),(2h O y x hf yy x f h x y x f y x f i i i i i i i i +⋅∂∂+⋅∂∂-=)()],(),(),([!2),()()()(3211h O y x f yy x f x y x f h y x hf x y h x y x y y i i i i i i i i i i i i +∂∂+∂∂+-=-=≈-- 在i i y x y =)(的条件下将上述两式代入)],(41),(47[)(211111---+-++=i i i i i i i y x f y x f h y y y 中,可得:)](),(),(),([4),(2321h O y x f yy x f x y x f h y x f hy y i i i i i i i i i i +∂∂+∂∂+-=+)]}(),(),(),([4),(23{2h O y x f y y x f x y x f h y x f h i i i i i i i i +∂∂+∂∂++)()],(),(),([2),(3h O y x f yy x f x y x f h y x hf y i i i i i i i i i +∂∂+∂∂++= 由于)(]))(,())(,())(,([2))(,()()(321h O yx y x f x y x f x x y x f h x y x hf x y x y i i i i i i i i i i +∂∂+∂∂++=+在ii y x y =)(的条件下)()()()(33311h O h O h O y x y i i =-=-++。
所以上述求解微分方程初值问题的算法其局部截断误差都是)(3h O 。
05-06学年秋季学期一.简答题(每小题4分,共20分)1. 设x=0.06020,y=0.0418是按四舍五入得到的近似值,则x+y ,xy 的绝对误差限,相对误差限,有效数字各是多少。
答:54110211021)(---⨯=⨯≤x ε,43110211021)(---⨯=⨯≤y ε; 30310211021)()()(--⨯=⨯≤+≤+y x y x εεε, 所以x+y 三位有效,0007766.0)()(=++=+yx y x y x r εε;32510211021)()()(---⨯=⨯≤+≤x y y x xy εεε, 所以x/y 三位有效,001279.0)()(==xyxy xy r εε 2. 同03-04学年秋季学期第一题33. 在解线性方程组时,原始数据的误差对解的影响如何;对病态方程组可以采用什么方法处理。
答:原始数据的误差对于线性方程组Ax=b 的影响如下:bb A cond xx∆≤∆)(,其中b ∆为A 精确时b 产生的误差;AAA cond x x ∆≤∆)( ,其中A ∆为b 精确时A 产生的误差; 其中cond(A)=||A ||||1-A ||为条件数。
对于病态方程组,可以使用迭代改善的方法处理。
4. 给出三个等距节点1x ,2x ,3x ,及其相应的函数值,试导出二阶数值导数)(1x f ''的计算公式。