《数值分析》课程考试.
- 格式:doc
- 大小:417.95 KB
- 文档页数:28
淮 阴 工 学 院 《数值分析》考试 ──基于Matlab的方法综合应用报告
班 级: 金融1121 姓 名: 蒋倩 学 号: 1124104119 成 绩:
数 理 学 院 2014年6月7日 《数值分析》课程考试 2014.6.3
一 课程主要教学内容综述(开卷部分)(70分) 综述要求: 1. 综述内容以本课程实际讲授内容和所使用的教材为基准; 2. 按主题论述,问题提出的背景、动因,解决问题的理论基础和方法; 3. 以数值计算的实例说明方法的应用,并进一步对方法本身和应用结果进行简要的分析和评价; 4. 各数值计算的Matlab程序按顺序编号,附在正文的后面。 *正文用五号字,附件编号,用小五号字,至少五页,可以讨论,要用自己的语言 *参考文献:书(白峰杉,数值计算引论(第二版),北京:高等教育出版社,2010)、电子讲义(章节名,电子讲义,淮阴工学院,2014) *自己再找一到两个参考文献 *格式:正文、参考文献、附录 正 文 一、线性方程组求解的数值方法 1、高斯消去法: 1.1问题提出的背景、动因[1]: 高斯消去法是求解线性代数方程组的直接方法,假设计算中没有舍入误差,经过有限次算数运算能够给出问题的精确解。 1.2解决问题的理论基础和方法[1,2]:
高斯消去法的基本思想就是将一般的线性方程组化成与之等价的上三角或下三角形式
来求解。高斯消去法的消元过程,从代数运算的角度看就是用一个下三角矩阵L左乘方程组
的系数矩阵A,且乘积的结果为上三角矩阵U,即 1LybLAUAxLUxbUxyALU
,
LU 分解的MATLAB实现: [,]()LUluA 或 [,,]()LUPluA
1.3例:Ax=b,已知A = [1 -2 0.33 0;2 -4.01 -1 5;-1 3 1 4; -3 6 0 2],b = [-1
1 0 3]',用高斯消去法求解x (程序见附录一) 结果: X = -3.70 -1.47 -0.72 0.36 L = 1.00 0 0 0 0.33 1.00 0 0 -0.67 -0.01 1.00 0 -0.33 0 -0.33 1.00 U =
-3.00 6.00 0 2.00 0 1.00 1.00 3.33 0 0 -0.99 6.37 0 0 0 2.79 P = 0 0 0 1.00 0 0 1.00 0 0 1.00 0 0 1.00 0 0 0 x = -3.70 -1.47 -0.72 0.36 1.4分析和评价: 用高斯消去法(LU分解)和用Matlab求解的结果相同,所以这种方法较为适用。
2、迭代法 2.1问题提出的背景、动因[3]:
通常逆矩阵不易求得,特别是对于大型的线性方程组,需要用迭代法求解。 2.2解决问题的理论基础和方法[3]: 用迭代法求解线性方程组,首先要把线性方程组写成等价的形式 AxbxMxf (1)
由迭代格式(1)确定如下的迭代算法: 10nnnxMxfxR
1limnnxxAb
Jacobian 迭代法:
11111kkAxbDLUxbADLUDxLUxbxDLUxDbMDLUfDb
Gauss-Seidel 迭代法:
11111kkAxbDLxUxbADLUxDLUxDLbMDLUfDLb
2.3例:生成一个矩阵A和一个向量b,用Gauss迭代法和Jacobi迭代法求解方程组。 (程序见附录二) 结果: X0 = 0.86 0.19 -0.20 0.32 -0.13 IterN0 = 16.00 X1 = 0.86 0.19 -0.20 0.32 -0.13 IterN1 = 40.00 2.4分析和评价: Jacobian迭代法与Gass-seidel迭代,迭代次数比较:Jacobian迭代法在要求的精度下求得近似解需要的次数为16次,Gass-seidel迭代法在要求的精度下求得近似解需要的次数为40次。Gass-seidel迭代法迭代的次数更加的少,即Gass-seidel迭代法在迭代次数上比Jacobian迭代法更加的优越。
二、范数 1、问题提出的背景、动因[1]: 范数是用于度量“量”大小的概念,是进行算法分析的基本工具,在数值计算中对方法的评价,几乎总是离不开范数。 2、解决问题的理论基础和方法[9]:
向量的范数:p-范数11nppkpkxx 矩阵(算子)的范数01maxmaxxxAxAAxx 3、例:生成一个5阶矩阵,并计算它的1-范数,2-范数和无穷范数。 (程序见附录三) 结果: M的1范数为: 5.65 M的2范数为: 3.75 M的无穷范数为: 6.14 4、分析和评价: 用norm函数,实现对1、2、无穷范数的求解,和用公式计算法相比方法简单,易于实现。
三、插值 1、Lagrange插值 1.1问题提出的背景、动因[5]:
在科学研究和计算中,往往回遇到复杂函数的分析与计算,有时用简单的函数来代替,
可能会去掉不必要的麻烦而使问题比较容易地得到解决。 1.2解决问题的理论基础和方法[5]: 构造插值多项式的基函数:
001110111njkjkjjkkknkkkkkkknxxLxxxxxxxxxxxxxxxxxxxxxxx
,
0,1,2,,kn 因为拉格朗日插值多项式的基函数有如下的性质:
010,njkkjjkjjkxxxxLxxxjkxx
, 0,1,2,,kn 所以拉格朗日插值多项式 0nkjkjkkkkjLxLxyLxyy
, 0,1,2,,kn
满足插值的条件。 1.3例:给定函数: 2251sin2xyxxe
,0,x. (1)
借助Matlab 求该函数的Lagrange 插值基函数以及差值多项式的表达式。 (程序见附录四) L = [ (4398046511104*(pi - x)*(pi - 2*x)*(pi - 4*x)*(3*pi - 4*x))/1285229138915719, (70368744177664*x*(pi - x)*(pi - 2*x)*(3*pi - 4*x))/1285229138915719, -(281474976710656*x*(pi - x)*(pi - 4*x)*(3*pi - 4*x))/6854555407550501, (70368744177664*x*(pi - x)*(pi - 2*x)*(pi - 4*x))/1285229138915719, -(4398046511104*x*(pi - 2*x)*(pi - 4*x)*(3*pi - 4*x))/1285229138915719] Ln = (35184372088832*2^(1/2)*x*exp(-(9*pi^2)/80)*((9*pi^2)/16 + 1)^(1/2)*(pi - x)*(pi - 2*x)*(pi - 4*x))/1285229138915719 - (4398046511104*x*exp(-pi^2/5)*(pi^2 + 1)^(1/2)*(pi - 2*x)*(pi - 4*x)*(3*pi - 4*x))/1285229138915719 - (4398046511104*(pi - x)*(pi - 2*x)*(pi - 4*x)*(3*pi - 4*x))/1285229138915719 - (35184372088832*2^(1/2)*x*exp(-pi^2/80)*(pi^2/16 + 1)^(1/2)*(pi - x)*(pi - 2*x)*(3*pi - 4*x))/1285229138915719 1.4分析和评价: 对于较简单的函数而言,用公式即可求出Lagrange 插值基函数以及差值多项式,而对于较复杂的函数用Matlab计算易于实现,且结果准确。
2、三次样条插值 2.1问题提出的背景、动因[1]: 随着x的值越来越大,lagrang模拟的情况会越来越差,原因就是lagrang插值法出现了“龙格”现象。因此,当x值较大时,可以选用三次样条插值。
2.2解决问题的理论基础和方法[5]:
通常在插值区间的端点处附加2个条件: 第一类边界条件:固定端点的斜率: 固定边界条件: 00Sxy,nnSxy 第二类边界条件:给定端点的的二阶导数: 自由边界条件: 00Sxy,.. 第三类边界条件:周期性条件: