2008下试卷(北京交通大学期末考试题)数值计算方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
北 京 交 通 大 学
2008―2009学年第一学期期末考试试题(B 卷)
课程名称: 计算方法 出题教师: 韩 臻
专业: 软件 班级: 07级 姓名:_____________ 学号:______________
一、 填空和简答(5个小题,每小题8分,共40分)
1. 在计算 2
2y x r +=
时,如果x 和y 有误差且它们的绝对误差限都
是ε,则近似值r 的绝对误差限是 。 2. 方程)cos(x x =在区间)3
,
0(π
上有唯一实根,取初值)3
,
0(0π
∈x ,
请问迭代过程),2,1,0(,)c o s (1 ==+k x
x k k 是否收敛?
答 ; 为什么? 。 3. 在实际使用高斯消元法求解线性代数方程组时,通常会采用列主元消元法。为什么? _ 。 4. 用最小二乘法求一条直线bx a y +=,使它与下列数据相拟合:
拟合直线为 。
5. 试给出求积分
⎰
1
)(dx x f 近似值的一个代数精度为2的数值积分
公式: 。
二、 Matlab 部分 (1个小题,每小题20分,共20分)
1. 设方程 0)cos(=-x x ,用牛顿迭代法求该方程在区间)2
,
0(π
上的根,
要求误差不超过6
10- ,输出根及迭代次数,最后画出区间)2
,
0(π
上函数
)cos()(x x x f -=的曲线并标注近似根的位置。试给出整个过程相应的Matlab 命令。
三、 综合题(2个小题,每题20分,共40分)
1. 对于给定的插值条件:
以及边界条件:2)5.0(")1.0("==S S 。使求出满足上述条件的三次样条插值多项式在25.0=x 上的值)25.0(S 。
2. 已知函数)(x f 在下列离散结点上的值(见下表所列),请选择一种合适的数值积分方法求出其积分
dx x f ⎰
6
.10
)(的近似值,要求误差小于
3
10
-。
参考答案:
一、
1、ε2,或ε2,(给出推导公式但没估计最后值得6分;给出其它ε2>的值得
4分)
2、收敛(得4分)。 因为迭代函数
1
2
3|sin ||)('|13/0cos )(<≤
==x x g x x g ,即)上的绝对值严格小于
,的一阶导数在(
π (得4分)
3、 避免约化主元0)
(=k kk a 或其绝对值过小产生的数值不稳定而丢失精度(若指出计算量增加不多,加2分) 4、 1.06667x 0.15833315
16
120
19+=+=
x y 。(若公式大致对得2分)
5、 )32(43)0(41f f +,或)1(4
1
)31(43f f +, 或其它满足要求的公式。(若给出任何
代数精度>=2的公式得6分,其他代数精度<2的数值积分公式得4分)。
二、(算法正确得10分;程序结构完整得5分;命令正确无误得5分) 1、
.m 文件Newt_6.m 例子:
function [it,x]=Newt_6(f_name,x0) %clf,hold off del_x=0.0001;
tolerance=1e-6;it_limit=30; it=0;
x=x0;xb=x+999;
while abs(x-xb)>tolerance
if it>it_limit fprintf('迭代次数超界:it=%3.0f\n',it);break; end y=feval(f_name,x);
y_driv=(feval(f_name,x+del_x)-y)/del_x; xb=x;
x=xb-y/y_driv; it=it+1; end
xx=0:0.01:pi/2;
yy=feval(f_name,xx); plot(xx,yy,x,0,'ro')
命令窗口调用例子: >> f=inline('x-cos(x)'); >> [it,x]=Newt_6(f,0)
用命令行程序也对。 三、
1、(求样条函数系数代数方程正确得10分; 系数计算正确得5分; f(0.25)正确得5分)
系数方程:⎪⎪⎪⎭
⎫
⎝⎛--=⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎭⎫
⎝
⎛=10125
.005.025
.005.0232
1
M M M A 系数:2,7
4,7
2,7
4
,200010=-
==
-==M M M M M ,
函数值:4
107857.15600
1
)25.0(-⨯≈=
f
2、(积分公式及值正确得15分;精度控制正确得5分)
837
.0)55.0)93.099.084.06.035.016.004.0(20(2
2.081
.0)55.0)99.06.016.0(20(24.084=++++++++=
=++++=T T
因为:3
4
810
009.0|3
|
->=-T T ,精度不够,故应采用辛普森方法试试:
846
.0)55.0)99.06.016.0(2)93.084.035.004.0(40(6
4.08467
.03
54.2)55.0)60.0(2)99.016.0(40(68.042=++++++++=
≈=
++++=S S
因为:324100007.0||-<≈-S S ,达到精度,所以积分近似值是: S 4=0.846