《数值计算与MATLAB 语言》2003-2004 第1学期试卷A(一页开卷考试)************************** 数值计算试题 *********************************** 1. 取y0=30, 按递推公式 11783100n n y y -=-去计算y 100, 若取78327.982≈(五位有效数字), 试问计算y 100将有多大的误差? [8分]2. 用对分区间法求解方程x 3-2x 2-1=0在2.2附近的实根,准确到三位有效数字。
[9分]3. 用LU 分解求下列方程组:[8分]123235111921263x x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪⋅= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭4. 对下述矩阵计算12,,∞⋅⋅⋅ : [4分×2]13(1)241012(2)01A B ⎛⎫=⎪⎝⎭⎛⎫=⎪⎝⎭5. 10.990.990.98A ⎛⎫=⎪⎝⎭,请计算它的条件数和特征值. [8分]6. 给定 x i = i +1, i = 0, 1, 2, 3, 4, 5. 下面哪个是 l 2(x )的图像,并简要说明理由?[4分]7. 用拉格郎日插值找经过点(-3,-1),(0,0),(3,1),(6,2)的三次插值公式 [10分]8、用最小二乘原理求一个形如y =a+b x 2的经验公式,使与下列数据相拟合[10分] x 19 25 31 38 44 y1932.34973.397.89、已知数表 x 1.8 2.0 2.2 2.4 2.6 f(x) 3.120144.425696.042418.0301410.46675计算积分2.61.8()f x dx ⎰(12分)(1) 用复化梯形公式; (2) 用复化辛甫生公式; (3) 用牛顿-柯特斯公式。
10、用欧拉法求解下列常微分方程(取h=0.2,在区间[0,0.6]上计算)(8分)⎩⎨⎧=--=1)0('2y xy y y***************************** MATLAB 语言试题 ***************************** 11. 传入一个方阵A ,编写一个自定义函数 “test1” 完成如下的功能: [8分]1) 把A 的主对角线元素写入文本文件 “abc.txt ” 中; 2) 把B 中的元素进行随机初始化(B 的行列数与A 相同);3) 从文本 “abc.txt ” 中读取元素到矩阵C ,把C 中每个元素值均加100; 4) 分别计算:D=B*C ;E=B.*C ;5) 把矩阵D 和E 作为传出的参数传出。
12. 编写一个自定义函数求解任一函数的导数, 要求函数形式为 dy=ddf(x,e). [7分] 其中, e 为误差精度, dy 为x 对应的f(x)的导数值. f(x)为被求导的函数.《数值计算与MATLAB 语言》2003-2004 第1学期试卷A 参考答案(一页开卷考试)************************** 数值计算试题 *********************************** 1. 取y0=30, 按递推公式 11783100n n y y -=-去计算y 100, 若取78327.982≈(五位有效数字), 试问计算y 100将有多大的误差? [8分] 解:111011001[2](783)[2]100[2]0[2]100n n n e y y y n y y -∆==∆∆=∆+∆=∆∴∆=⇒∆=∆=分分分分2. 用对分区间法求解方程x 3-2x 2-1=0在2.2附近的实根,准确到三位有效数字。
[9分] 解:对方程左边的函数进行预处理知在 2.2附近取x1=2.1,x2=2.3,对应的y1=-0.559,y2=0.587,符合对分区间法的要求 [3分] 。
迭代过程如下:[4分]3(12)/2 2.23(3)0.0324(32)/2 2.254(4)0.26565(34)/2 2.2255(5)0.11396(35)/2 2.21256(6)0.04027(36)/2 2.206257(7)0.00398(37)/2 2.2031258(8)0.01x x x y f x x x x y f x x x x y f x x x x y f x x x x y f x x x x y f x =+===-=+====+====+====+====+===-41因此,准确到三位有效数字,得方程的根为x=2.203125。
[2分]3. 用LU 分解求下列方程组:[8分]123235111921263x x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪⋅= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭解:由LU 分解的元素计算公式,对系数矩阵进行分解得L 和U 矩阵如下:[4分]1002350.51000.5 6.50.511002L U ⎛⎫⎛⎫ ⎪ ⎪==- ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭由L Y=b 进行回代,得:Y=(1,1.5,4)T 。
[2分]代入方程组UX=Y 得:X=(49,-29,-2)T 。
[2分]4. 对下述矩阵计算12,,∞⋅⋅⋅ : [4分×2]13(1)241012(2)01A B ⎛⎫=⎪⎝⎭⎛⎫=⎪⎝⎭解:(1)6, 7, 5.465 (2)12, 23, 15.65255. 10.990.990.98A ⎛⎫= ⎪⎝⎭,请计算它的条件数和特征值. [8分]解:考察 A 的特征根:12122det()01.9800505040.000050504()39206 >> 1I A cond A λλλλλ-=⇒==-=≈6. 给定 x i = i +1, i = 0, 1, 2, 3, 4, 5. 下面哪个是 l 2(x )的图像,并简要说明理由?[4分]解:C 图像。
(略)7. 用拉格郎日插值找经过点(-3,-1),(0,0),(3,1),(6,2)的三次插值公式 [10分] 解:按照拉格朗日插值公式,得到如下的表达式:(每个l i 表达式各占2分,结论2分)012330(3)(6)1(3)(6)3(33)(36)162(3)(3)(6)1(3)(3)(6)3(3)(6)54(3)(6)1(3)(6)(33)3(36)54(3)(3)1(3)(3)(63)6(63)162()()1*()0*j j x x x l x x x x x x l x x x x x x l x x x x x x l x x x x y l x l x l ϕ---==-------+--==+--⋅--+--==+-+-+-==+-+-==-+31230()1()2()j x l x l x =++∑8、用最小二乘原理求一个形如y =a+b x 2的经验公式,使与下列数据相拟合(10分) x 19 25 31 38 44 y 19 32.3 49 73.3 97.8解:按照最小二乘原理,得:[原理2分;正规方程4分;系数解2分;最终表达式2分]⎩⎨⎧==⇒⎩⎨⎧=+=+⇒⎪⎪⎩⎪⎪⎨⎧=⎪⎭⎫ ⎝⎛+⎪⎭⎫ ⎝⎛=⎪⎭⎫ ⎝⎛+⇒⎪⎪⎩⎪⎪⎨⎧=---=∂∂=---=∂∂=--=∑∑∑∑∑∑∑∑∑=========05.001.15.369321727769953274.2715327550)(20)(2),()(5125145125151251225125122512b a b a b a x y b x a x y b x a x bx a y b bx a y a b a bx a y i i i i i i i i i i i i i i i i i i i i i i iϕϕϕδ所以,表达式为:y =1.01+0.05x 29、已知数表 x 1.8 2.0 2.22.4 2.6f(x) 3.12014 4.42569 6.04241 8.03014 10.46675计算积分 2.61.8()f x dx ⎰(12分)(1) 用复化梯形公式; (2) 用复化辛甫生公式; (3) 用牛顿-柯特斯公式。
解:h=0.2分)(405834.5}46675.10)03014.804241.642569.4(212014.3{*1.0)}6.2()]4.2()2.2()0.2([2)8.1({2)1(4=++++=++++=f f f f f hT 分)(403300.5}46675.10)03014.842569.4(*404241.6*212014.3{*3/2.0)}6.2()]4.2()0.2([4)2.2(2)8.1({3)2(2=++++=++++=f f f f f hS 分)(4 03292.5}46675.10)03014.842569.4(*3204241.6*1212014.3*7{908.0)}6.2(7)4.2(32)2.2(12)0.2(32)8.1(7{904)3(=++++=++++=f f f f f hI10、用欧拉法求解下列常微分方程(取h=0.2,在区间[0,0.6]上计算)(8分)⎩⎨⎧=--=1)0('2y xy y y 分)分)分)分)(2 4614321.0)6.0((2 6144.0)4.0((2 8.0)2.0(1(2 2.08.0)(2.0),(3210221=≈=≈=≈=-=--+=+=+y y y y y y y y x y y x y y y x hf y y n n n n n n n n n n n***************************** MATLAB 语言试题 ***************************** 11. 传入一个方阵A ,编写一个自定义函数 “test1” 完成如下的功能: [8分]1) 把A 的主对角线元素写入文本文件 “abc.txt ” 中;2) 把B 中的元素进行随机初始化(B 的行列数与A 相同);3) 从文本 “abc.txt ” 中读取元素到矩阵C ,把C 中每个元素值均加100; 4) 分别计算:D=B*C ;E=B.*C ;5) 把矩阵D 和E 作为传出的参数传出。
解:自定义函数如下:(语法格式3分) function [D,E]=test1(A) [2分] a1=diag(A);save abc.txt a1 -ascii; [1分] B=random(size(A));C=load(…abc.txt ‟); [1分]C=C+100*ones(size(C)); [1分]D=B*C;E=B.*C;12. 编写一个自定义函数求解任一函数的导数, 要求函数形式为dy=ddf(x,e). [7分] 其中, e为误差精度, dy为x对应的f(x)的导数值. f(x)为被求导的函数.解:function y=f(x) [2分]%自定义函数以sin(x)为例y=sin(x)function dy=ddf(x,e) [1分]dx=1;dy0=f(x+dx)-f(x); [1分]dx=dx/2;dy1=(f(x+dx)-f(x))/dx;while (abs(dy1-dy0)>e) [2分]dy0=dy1;dx=dx/2;dy1=(f(x+dx)-f(x))/dx; [1分]enddy=dy1;。