数值分析课程设计报告(95分)
数值分析课程设计报告
设计题1、2、3、5
学院、系:
专业:
姓名:
学号:
任课教师:
提交日期:
电子邮箱:
目录
[设计题一] (3)
1.1问题分析与设计思路 (3)
1.2程序清单 (4)
1.4 结果分析 (5)
1.5设计总结 (6)
[设计题二] (6)
2.1问题分析与设计思路 (7)
2.2程序清单 (7)
2.3 运行结果 (9)
2.4结果分析与设计总结 (9)
[设计题三] (10)
3.1问题分析与设计思路 (10)
3.2程序清单 (10)
3.3 运行结果 (12)
3.4结果分析与设计总结 (13)
[设计题五] (13)
4.1问题分析与设计思路 (14)
4.2程序清单 (15)
4.3 运行结果 (20)
4.4结果分析 (21)
【数值分析课程设计总结】 (22)
11121112
31
111121n n H n n
n n ?? ? ? ? ?=+ ? ? ?
?+-??
[设计题一]
设计实验验证Hilbert 矩阵的病态性。
1.1问题分析与设计思路
在求解任何反问题的过程中通常会遇到病态矩阵问题,而且病态矩阵问题还未有很好的解决方法,尤其是长方形、大型矩阵。目前主要有Tikhonov 、奇异值截断、奇异值修正等方
法。
求解方程组时对数据的小扰动很敏感的矩阵就是病态矩阵。解线性方程组Ax =b 时,若对于系数矩阵A 及右端项b 的小扰动δA 、δb ,方程组(A +δA )χ=b +δb 的解χ与原方程组Ax =b 的解差别很大,则称矩阵A 为病态矩阵。方程组的近似解χ一般都不可能恰好使剩余r=b -A χ为零,这时χ亦可看作小扰动问题A χ=b -r(即δA =0,δb =-r)的解,所以当A 为病态时,即使剩余很小,仍可能得到一个与真解相差很大的近似解。
因此,设计思路如下:
令x0=(1,1…..1),计算出b=Hx0,求出b ,然后再用高斯消去法球解Hx=b ,得到近似解x ,然后利用标准差:
比较x与x0之间的误差。截图是取了几个n(程序中设置为1至30)去计算,看一下随着n的增大误差的变化情况。
1.2程序清单
共两个文件
qm1.m
gauss_liezhu1.m (在qm1.m中调用此程序)
qm1.m
gauss_liezhu1.m
1.4 结果分析
N=14
按照N 的递增顺序取了9个误差数据,制成散点折线图如上所示。
由此可以看出,此矩阵求解方程组时对数据的小扰动很敏感
实验验证Hilbert 矩阵的病态性成立。
1.5设计总结
(1)认识什么事矩阵的病态性
(2)令x0=(1,1…..1),计算出b=Hx0,求出b ,然后再用高斯消去法球解Hx=b ,得到近似解x ,然后利用标准差公式
比较x 与x0之间的误差。
(3)取几个点进行误差记录 (4)绘制误差的散点图,形象分析
[设计题二]
1225年,达芬奇研究了方程3
2
210200x x x ++-=并得到它的一个近似根
=+=1()
- (0, 1, 2,)(2.1)
'()
n n n n
f x x x n f x *1.368808107x =。没有人知道他用什么方法得到它。设计两种方法去计算,并比较这两
种方法。
2.1问题分析与设计思路
f (x )=0的根(或f (x )的零点),当f (x )复杂时,很难求,需要找到有效简单
的近似方法去求: (1)二分法理论: f (x )∈C[a,b],单调,f (a )f (b )<0,f (x )=0在(a,b)中有惟一根。 (2)迭代法
(3)牛顿(Newton )法
针对本题,采用了两种方法。第一种方法是二分法,得到的近似根与精确解的误差小于
。第二种方法是用牛顿迭代法。
二分法
优点:条件和方法简单(只要求f (x )连续即可),方法收敛;缺点:收敛速度慢,不易求偶数重根(如图).
Newton 迭代法迭代公式
2.2程序清单
二分法程序:erfen.m
Newton 迭代法程序: qm2_2.m
nanewtom.m (在qm2_2.m 中调用)
二分法Newton迭代法
2.3 运行结果
二分法:
Newton迭代法
2.4结果分析与设计总结
通过二分法与Newton迭代法得出的答案相同。
(1)确定求方程近似根的三种方法
(2)翻书了解编程步骤
(3)总结本章重点知识:
1.熟悉区间二分法;
2.熟悉迭代法的建立,会使用收敛定理;
3.熟悉Newton迭代法及其几何意义;
4.熟悉收敛阶的定义;
5.熟悉Newton迭代法的收敛阶;
[设计题三]
某飞机头部的光滑外形曲线的型值点坐标由下表给出:
i0 x142 1462 1841 i
y 6 272 275 i
...
800处的函数值y及一阶、二阶导数值y’,y”。绘出模拟曲线的图形。
3.1问题分析与设计思路
曲线拟合的一般步骤
(一)绘制散点图,选择合适的曲线类型一般根据资料性质结合专业知识便
可确定资料的曲线类型,不能确定时,可在方格坐标纸上绘制散点图,根据散点的分布,选择接近的、合适的曲线类型。(二)进行变量变换,使变换后的两个变量呈直线关系。
(三)按最小二乘法原理求线性方程和方差分析
(四)将直线化方程转换为关于原变量X、Y的函数表达式
此题用三次样条插值
三次样条函数定义:函数S(x)∈C2[a,b] ,且在每个小区间[ xj,xj+1 ]上是三次多项式,其中 a =x0 3.2程序清单 text5.m csfitf.m (function 文件) daos1.m(function文件) daos2.m(function文件) daos1.m文件 Csfitf.m文件 daos2.m文件 text5.m文件3.3 运行结果 3.4结果分析与设计总结 用三次样条插值拟合出的曲线及计算结果如上图所示。 实际计算是还需要引入边界条件才能完成计算。边界通常有自然边界(边界点的导数为0),夹持边界(边界点导数给定),非扭结边界(使两端点的三阶导与这两端点的邻近点的三阶导相等)。Matlab把非扭结边界条件作为默认的边界条件。 [设计题五] 给定单摆方程初值问题 .. s i n ,(0),'(0)0 g l θθθθθ=-== 其中g=9.8,l=25. (1) 取初始偏离角度0100.1745θ== (2) 取初始偏离角度0 300.5236θ== 其精确解为0()c o s ,g t t l θθωω==。分别对上述两种情况按照下列方法求出其数值解,比较各方法的优缺点,并将计算结果与精确解做比较(列表、画图)。 (方案I )欧拉法,步长h = 0.025, h = 0.1; (方案II )改进的欧拉法,步长h = 0.05, h = 0.1; (方案III )四阶经典龙格—库塔法,步长h = 0.1。 4.1问题分析与设计思路 令,则可以将 改写为: 然后改写欧拉法、改进的欧拉法即龙格库塔公式。 欧拉法: 改进的欧拉法: 龙格库塔法: 4.2程序清单euler.m euler_gai.m f5_2.m orig6.m R-K.m text_1.m text_1_2.m text_2.m text_2_2.m text_3.m text_3_2.m 4.3 运行结果 欧 拉