东北大学 数值分析 07(研)数值分析

合集下载

东北大学数值分析实验报告

东北大学数值分析实验报告

数值分析实验班级 姓名 学号实验环境: MATLAB实验一 解线性方程组的迭代法(1)一、实验题目 对以下方程组分别采用Jacobi 迭代法, Gaaus-Seidel 迭代法求解和SOR 迭代法求解。

(2)线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------------------------13682438141202913726422123417911101610352431205362177586832337616244911315120130123122400105635680000121324⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-2119381346323125 (2)对称正定线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----------------------1924336021411035204111443343104221812334161206538114140231212200420424⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡87654321x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---4515221123660(3)三对角线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡------------------4100000000141000000001410000000014100000000141000000001410000000014100000000141000000001410000000014⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----5541412621357 二、实验要求(1)应用迭代法求线性方程组, 并与直接法作比较。

《数值分析》课程教学大纲

《数值分析》课程教学大纲

《数值分析》课程教学大纲课程编号:07054352课程名称:数值分析英文名称:Numerical Analysis课程类型:学科基础课程要求:必修学时/学分:48/3 (讲课学时:40 上机学时:8)适用专业:计算机科学与技术;软件工程一、课程性质与任务“数值分析”是计算机科学与技术、软件工程等相关专业学生的学科基础课,也是其它理、工科专业本科生及研究生的必修或选修课。

数值分析是研究各种数学问题在计算机上通过数值运算,得到数值解答的方法和理论。

随着计算机系统能力的提高和新型数值软件的不断开发,无论在高科技领域还是在传统学科领域,数值分析的理论和方法的作用和影响巨大,是科学工作者和工程技术人员必备的基础知识和工具。

课程的任务是使学生能了解数值分析的基本概念,熟悉常用数值方法的构造原理,了解数值算法复杂性、误差与收敛性分析的基本方法,了解重要数值算法的软件实现过程,使学生系统掌握数值分析的基本概念和分析问题、解决问题的基本方法,为掌握更复杂的现代计算方法打好基础。

内容包括数值计算的基本方法、线性和非线性方程组解法、插值法、数值积分法及微分方程的数值解法。

二、课程与其他课程的联系先修课程:高等数学,线性代数,C语言程序设计,计算基础。

后续课程:人工智能,数字图像处理技术,大数据分析及应用。

三、课程教学目标1.学习使用计算机进行数值计算的基础知识和基本理论知识,能够分辨、选用合适的数值方法解决工程问题。

(支撑毕业能力要求1和2)2. 能掌握常用数值计算方法的构造原理,根据问题设计和综合运用算法设计问题解决方案。

(支撑毕业能力要求1和2)3. 能运用数值算法复杂性、误差与收敛性分析的基本方法初步进行算法分析。

4. 能用计算机语言实现典型的数值计算算法,得到实验技能的基本训练,并具有利用计算机解决常见数学问题的能力;(支撑毕业能力要求4)5.能通过查询阅读文献资料,了解数值分析的前沿和新发展动向,了解数值分析算法原理应用的典型工程领域。

东北大学数值分析考试题解析

东北大学数值分析考试题解析

数值分析提供了许多实用的算法, 这些算法可以解决各种实际问题, 如线性方程组、微分方程、积分 方程等。这些算法在科学计算、 工程仿真、数据分析等领域都有 广泛的应用。
数值分析在解决实际问题时具有 高效、精确和可靠的特点。通过 数值分析,我们可以快速地得到 问题的近似解,并且可以通过误 差分析来控制解的精度。这使得 数值分析成为解决实际问题的重 要工具。
详细描述
数值分析是一门应用广泛的学科,它通过数学方法将实际问题转 化为可计算的数学模型,并寻求高效的数值计算方法来求解这些 问题。数值分析在科学计算、工程、经济、金融等领域中发挥着 重要的作用,为实际问题的解决提供了有效的工具。
数值分析的应用领域
总结词
数值分析的应用领域非常广泛,包括科学计算、工程、经济、金融等。
非线性方程组的求解精度和速 度取决于所选择的方法和初值 条件。
非线性方程组的求解在科学计 算、工程技术和计算机图形学 等领域有广泛应用。
最优化方法
最优化方法是寻找使某个 函数达到最小或最大的参 数值的方法。
最优化方法的效率和精度 取决于所选择的算法和初 始参数值。
常用的最优化方法包括梯 度下降法、牛顿法和拟牛 顿法等。
数值分析在人工智能领域的应用
总结词
数值分析在人工智能领域的应用关键,涉及深度学习、神经 网络等领域。
详细描述
数值分析为人工智能提供了理论基础和算法支持,特别是在 深度学习和神经网络方面。通过数值分析的方法,可以优化 神经网络的参数和结构,提高人工智能的性能和准确性。
数值分析在金融领域的应用
总结词
常见的迭代法有雅可比迭代法 、高斯-赛德尔迭代法等。
牛顿法
牛顿法是一种基于泰勒级数 的迭代方法,用于求解非线 性方程的根。

东北大学数值分析答案

东北大学数值分析答案

第一周解答:π=0.31415926×10M=1|π-3.141|=0.0005926<1/2 ×10m−n=0.5 ×101−n≤0.5×10−2所以n=3|π-3.142|=0.0004074<1/2 ×10m−n=0.5 ×101−n≤0.5×10−3所以n=4即3.141作为π的近似值具有3位有效数字3.142 有4位解答:√3=1.73205081…=0.173205081…M=1|√3−x|≤0.5×101−n|n=2时0.5×101−n=0.051.73205-x≤0.05x≥1.68205x=1.68205|√3−x|≤0.5×101−n|n=3时0.5×101−n=0.0051.73205-x≤0.005x≥1.72705x=1.72705解答:2256=2128×2128=264×264×2128=232×232×264×2128=216×216×232×264×2128=2×2×22×24×28×216×232×264×2128共计算8次乘法第二周解答:因为在n取一定位数时,1/n过于小导致系统计算为0.因此计算机求和在一定位数以后其余的数字都是0,结果为一常数解答:由于y0=28没有误差,可见误差是由√783引起的,设x=27.982σ=x-√783利用已知的递推算法,y n=y n−1−√783100和实际计算中的递推公式Y n=Y n−1−x/100(Y0=y0)两公式相减,e(Y n)=Y n−y n=Y n−1−y n−1−x−√783100e(Y n)= e(Y n−1)- σ/100此为绝对误差因为σ=x-√783数值恒定不变,因此该递推过程稳定解答:(1)原式=2x2(1−2x)(1−x)(2)e x 在x=0处的泰勒展开式可得: e x =1+x +12!x 2+⋯1n!x 2+R n (x) 所以1−e x x=x+12!x 2+⋯1n!x2x=1+12!x 2+⋯1n!x n−1第三周解答:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡→⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡61-12001-101-1131-11-301-101-11101112-2-211-11消元消元回代得解,;3,2,2321===x x x解答:1. 使用条件:当系数矩阵 A 的各阶顺序主子式非零时,顺序高斯消去法可以顺利进行;而一般只要系数矩阵 A 的行列式非零,列主元高斯消去法就可以顺利进行。

数值分析(07)矩阵的正交分解

数值分析(07)矩阵的正交分解
令单位阵I (1) R( k 1)( k 1),I ( 2) R( n k 1)( n k 1) , ( 对x ( 2)构造一个( n k 1)阶的初等阵H k2) , 使
H
(2) k
x
(2)
e
(k ) k 1
( 其中e1k ) (1, 0, , 0)T R n k 1 , 用前面介绍的方法 (2) 构造H k 。
U x y x i ei ( x1 , , xi i , , xn )T ,
有Hx y i ei
1 sign( x i ) 1
xi 0 xi 0
构造初等反射阵 UU T 1 T H I 2WW I 2 I UU T 2 U
解 : 3 sign( x3 ) x
2
4 0 4 1 3,因x3 2 0,
故取K 3 3 于是y 3e3 Ke3 (0, 0, 3, 0)T ,
U x y (2, 0, 5,1) , 3 ( 3 x3 ) 3(3 2) 15
数值分析
数值分析
function [H,y]=holder1(x) n=length(x); if x(1)<0 M=max(abs(x)); s=-s; if M==0, end; disp('M=0'); x(1)=s+x(1); return; p=s*x(1); else u=x; x=x/M; H=eye(n,n)-p\u*u'; end; y=zeros(n,1); s=norm(x); y(1)=-M*s;
1 T 1 2 2 其中 U U ( x1 ... ( xi i )2 xn ) 2 2 1 (2 xi i 2 i 2 ) i ( xi i ) 2

东北大学数值分析-总复习+习题

东北大学数值分析-总复习+习题
解 由2=b+c+1,5=6+2b+c,8=12+2b,可得
二、(13分)设函数(x)=x2-sinx-1 (1)试证方程(x)=0有唯一正根; (2)构造一种收敛的迭代格式xk+1=(xk),k=0,1,2,…计算精度为=10-2的近似根; (3)此迭代法的收敛阶是多少?说明之.
解 (1)因为0<x1时,(x)<0,x2时,(x)>0,所以(x)仅在(1,2)内有零点,而当1<x<2 时,(x)>0,故(x)单调.因此方程(x)=0有唯一正根,且在区间(1,2)内.
(1) xkp阶收敛于是指: (2) 若()0,则迭代法线性收敛.
lim xk1 C k xk p
4.会建立Newton迭代格式;知道Newton迭代法的优缺点.了解Newton迭代法的变形.
xk 1
xk
f (xk ) f (xk )
局部平方收敛.
五、矩阵特征值问题
1. 了解Gerschgorin圆盘定理, 会估计特征值. 2. 了解乘幂法、反幂法的思想及加速技巧. 3. 了解Jacobi方法的思想以及平面旋转矩阵的构造.
总复习
一、绪论
1.掌握绝对误差、绝对误差限、相对误差、相对误差限及有效数字的概念。掌握误差 限和有效数字之间的关系。会计算误差限和有效数字。
一般地,凡是由精确值经过四舍五入得到的近似值,其绝对误差限等于该近似值末位的 半个单位。
定义1 设数x是数x*的近似值,如果x的绝对误差限是它的某一数位的半个单位,并 且从x左起第一个非零数字到该数位共有n位,则称这n个数字为x的有效数字,也 称用x近 似x*时具有n位有效数字。
是不是一种向量范数_____. 是

数值分析第一章绪论20140907

数值分析第一章绪论20140907

I4 0.1035 I3 0.1268 I2 0.1709 I1 0.2642 I0 0.6321 可见,I0已精确到小数点后四位。
第一章练习题
习题1(第10页) 1-1,1-2,1-3,1-4
课间休息
实际 问题
数学 模型
数值计 算方法
程序 设计
计算机计算 求出结果
对数学模型建立数值计算方法,并对方法进行理论分 析,直到编程上机计算出结果,以及对结果的分析,这就 是数值分析研究的对象和任务。 如何评价不同算法的好坏呢? 一个好的算法应具有如下特点:
一个好的算法应具有如下特点: (1) 结构简单,易于计算机实现; (2) 理论上要保证方法的收敛性和数值稳定性;
(3) 计算效率高:计算速度快,节省存储量;
(4) 经过数值实验检验,证明行之有效。 我们在学习的过程中,要注意掌握数值方法 的基本原理和思想,要注意方法处理的技巧及其 与计算机的结合,要重视误差分析、收敛性和稳 定性的基本理论。 随着计算机的飞速发展,数值分析方法已深入到计算 物理、计算力学、计算化学、计算生物学、计算经济学等
利用分部积分法可得计算In的递推公式 In=1-nIn-1,n=1,2,… 由于,n=0时
In x e
1 0
n x 1
dx
I0 e
1 0
x 1
dx 1 e 0.632120558 ......
1
取I0具有四位有效数字的近似值I0≈0.6321,递推可得: I0 0.6321 I1 0.3679 I2 0.2642 I3 0.2074 I4 0.1704 I5 0.1480 I6 0.1120 I7 0.2160 I8 -0.7280 I9 7.5520
对两个相近的数相减,若找不到适当方法代替,只能

东北大学硕士研究生入学考试复试科目参考书

东北大学硕士研究生入学考试复试科目参考书
《管理心理学》李磊马华维主编南开大学出版社2006年1月第1版
120404社会保障
西方经济学
《现代西方经济学(宏观经济学)》宋承先著复旦大学出版社1997年以后各版均可
490100公共管理硕士
公共政策学
《公共政策学》娄成武主编东北大学出版社2003年版
070101基础数学
1、代数与几何2、分析与方程(两门选一)
1、《通信原理》第6版国防工业出版社
2、《高频电子线路》第三版张啸文主编高等教育出版社
081002信号与信息处理
1、数字信号处理50%;2、单片机原理50%
1、《数字信号处理教程》,程佩清编著,清华大学出版社,2001年,2、《单片机原理及接口技术》李朝青编著北京航空航天大学出版社简明修订版2001年
2、《单片机原理及接口技术》李朝青编著北京航空航天大学出版社简明修订版2001年
3、《单片机的C语言应用程序设计》(修订版)马忠梅、籍顺心、张凯、马岩主编北京航空航天大学出版社2003
080802电力系统及其自动化
综合知识(1、电路原理部分30%,2、微机原理部分30%,3、计算机控制系统部分40%)
《工程材料学》连法增东北大学出版社2005年1月
430106冶金工程
冶金学(2)
《冶金学》(钢铁冶金卷)朱苗勇冶金工业出版2005年《冶金学》(有色冶金部分)邱竹贤东北大学出2000年
080402测试计量技术及仪器
综合知识(1、自动化30%;2、单片机30%;3、逻辑与编程能力40%)
1、《过程控制仪表及控制系统》林德杰主编机械工业出版社2004
《近世代数》第二版扬子胥高等教育出版社2003年
《解析几何》第二版丘维声北京大学出版社1996年

东北大学-数值分析-课后习题详细解析

东北大学-数值分析-课后习题详细解析

2-6(1).给定方程组
10 2 x y 1
x
y
2
a.用Cramer法则求其精确解. b.用Gauss消元法和列主元
Gauss消元法求解,并比较结果.(用两位浮点计算).
解 a.x=-1/-0.99=1.010101,y=-0.98/-0.99=0.989899
b.用Gauss消元法
7
10 2 x y 1
1.01
1.01
1.01
1
0.66
0.995
0.66
1.17
2
0.67
1.17
0.553333
1.223333
3
0.553333
1.165
0.517778
1.241111
4
0.556667
1.223333
0.505926
1.247037
5
0.517778
1.221667
0.501975
1.249012
解 有效数位分别为: 3位,1位,0位.
1
1-3.为了使101/2的相对误差小于0.01%,试问应取几位有效
数字?
解 因为101/2=3.162…=0.3162…10,若具有n位有效数字,
则其绝对误差限为0.5 101-n ,于是有
r=0.5101-n/3.162…<0.5101-n/3<0.01% 因此只需n=5.即取101/2=3.1623
解 (1)J迭代法和G-S迭代法的迭代格式分别为
x(k 1
x(k 2
1) 1)
3
2
x
(k 2
)
2 1.5x1(k)
计算结果如下:
k

东北大学数值分析实验报告

东北大学数值分析实验报告

实验一:解线性方程组的直接方法1、设线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--------------------------13682438141202913726422123417911101610352431205362177586832337616244911315120130123122400105635680000121324⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-2119381346323125x *= (-1, 0, 1, 2, 0, 3, 1, -1, 2 )T2、设对称正定阵系数阵线方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----------------------192433621411035204111443343104221812334161206538114140231212200420424⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡87654321x x x x x x x x = ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡---4515229232060 x * = ( 1, -1, 0, 2, 1, -1, 0, 2 )T3、三对角形线性方程组⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡------------------41141000000001410000000014100000000141000000001410000000014100000000141000000001410000000014⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x = ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----5541412621357 x *= ( 2, 1, -3, 0, 1, -2, 3, 0, 1, -1 )T分别用Gauss 顺序消去法与Gauss 列主元消去法:平方根法与改进平方根法:追赶法求解,编出算法通用程序用列主元消去法求解方程组一: 流程图如下:源程序:#include < iostream >#include < vector >#include < cmath >using namespace std;class CGAUSSSOLVEEQU{private :vector < vector < double >> m_equset; vector < double > m_answer;int m_n;public :void inputEquSet(double in[],int n); void solveEquSet();void outputAnswer();void change(int m,int m2);} ;void CGAUSSSOLVEEQU::inputEquSet(double in[],int n){vector < double > vtemp;m_n=n;for (int i= 0;i < m_n; i++){m_equset.push_back(vtemp);for (int j= 0;j <= m_n; j++){m_equset[i].push_back(in[i*(m_n+1)+j]);}}}void CGAUSSSOLVEEQU::change(int m,int m2){vector < vector < double >> ::iterator iter;iter = m_equset.begin();vector < vector < double >> ::iterator iter2;iter2 = m_equset.begin();//double}void CGAUSSSOLVEEQU::solveEquSet(){vector < vector < double >> ::iterator iter;iter = m_equset.begin();for (int m= 0;m < m_n - 1 ; ++ m){// 将绝对值最大的主元素移上去for (int i=m;i<m_equset.size();i++){if (fabsl(m_equset[m][m]) < fabsl(m_equset[i][m])) {swap( m_equset[m], m_equset[i]);}}// 进行消元for (int i = m + 1 ;i < m_n; ++ i){double dm;dm = m_equset[i][m] / m_equset[m][m];for (int j = m;j < m_n + 1 ; ++ j){m_equset[i][j] -= dm * m_equset[m][j];}}++ iter;}// 初始化m_answer向量for (int i=0 ;i < m_n; ++ i) m_answer.push_back( 0 );// 求解答案m_answer[m_n - 1 ] = m_equset[m_n - 1 ][m_n] / m_equset[m_n - 1 ][m_n - 1 ];for ( int i = m_n - 2 ;i >= 0 ; -- i){m_answer[i] = m_equset[i][m_n];for ( int j = m_n - 1 ;j > i; -- j)m_answer[i] -= m_answer[j] * m_equset[i][j];m_answer[i] /= m_equset[i][i];}}void CGAUSSSOLVEEQU::outputAnswer(){for (int i= 1;i <= m_n; ++ i){cout << " x( " << i << " )= " << m_answer[i - 1 ] << endl;}}int main(){CGAUSSSOLVEEQU myEqu1;double in1[10*11]={4,2,-3,-1,2,1,0,0,0,0,5,8,6,-5,-3,6,5,0,1,0,0,12,4,2,-2,-1,3,2,-1,0,3,1,3,0,-2,1,5,-1,3,-1,1,9,4,2,-4,2,6,-1,6,7,-3,3,2,3,3,8,6,-8,5,7,17,2,6,-3,5,46,0,2,-1,3,-4,2,5,3,0,1,13,16,10,-11,-9,17,34,2,-1,2,2,38,4,6,2,-7,13,9,2,0,12,4,19,0,0,-1,8,-3,-24,-8,6,3,-1,-21};myEqu1.inputEquSet(in1,10);myEqu1.solveEquSet(); myEqu1.outputAnswer(); cout<<endl; cout<<endl; return 1 ;}实验运行结果:实验心得:通过本次实验,我不仅掌握了模块化程序设计的方法,还了解了求解线性方程组的方法,明确了高斯消去法选主元的必要性。

7数值分析试题与答案

7数值分析试题与答案

试题__2009___年~__2010___年第 一学期课程名称: 数值分析 专业年级: 2009级(研究生) 考生学号: 考生姓名: 试卷类型: A 卷 √ B 卷 □ 考试方式: 开卷 √ 闭卷 □………………………………………………………………………………………………………一. 填空题(本大题共4小题,每小题4分,共16分)1.设有节点012,,x x x ,其对应的函数()y f x =的值分别为012,,y y y ,则二次拉格朗日插值基函数0()l x 为 。

2.设()2f x x =,则()f x 关于节点0120,1,3x x x ===的二阶向前差分为 。

3.设110111011A -⎡⎤⎢⎥=--⎢⎥⎢⎥-⎣⎦,233x ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦,则1A = ,1x = 。

4. 1n +个节点的高斯求积公式的代数精确度为 。

二.简答题(本大题共3小题,每小题8分,共24分)1. 哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定?2. 什么是不动点迭代法?()x ϕ满足什么条件才能保证不动点存在和不动点迭代序列收敛于()x ϕ的不动点?3. 设n 阶矩阵A 具有n 个特征值且满足123n λλλλ>≥≥≥,请简单说明求解矩阵A 的主特征值和特征向量的算法及流程。

三.求一个次数不高于3的多项式()3P x ,满足下列插值条件:并估计误差。

(10分)四.试用1,2,4n =的牛顿-科特斯求积公式计算定积分1011I dx x=+⎰。

(10分) 五.用Newton 法求()cos 0f x x x =-=的近似解。

(10分) 六.试用Doolittle 分解法求解方程组:12325610413191963630x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎣⎦⎣⎦⎣⎦(10分) 七.请写出雅可比迭代法求解线性方程组123123123202324812231530x x x x x x x x x ++=⎧⎪++=⎨⎪-+=⎩ 的迭代格式,并判断其是否收敛?(10分)八.就初值问题0(0)y yy y λ'=⎧⎨=⎩考察欧拉显式格式的收敛性。

东北大学数值分析上机实验报告

东北大学数值分析上机实验报告

《数值分析》上机实验报告课题三解线性方程组的迭代法学生姓名:学生系别:学生班级:日期:上机实践报告【运行环境】软件:Windows、Microsoft Visual C++ 6.0PC一台【问题提出】对课题二所列目的和意义的线性方程组,试分别选用Jacobi 迭代法,Gauss-Seidol迭代法和SOR方法计算其解。

【实践要求】1、体会迭代法求解线性方程组,并能与消去法做比较;2、分别对不同精度要求,如ε=10-3,10-4,10-5 由迭代次数体会该迭代法的收敛快慢;3、对方程组2,3使用SOR方法时,选取松弛因子 =0.8,0.9,1,1.1,1.2等,试看对算法收敛性的影响,并能找出你所选用的松弛因子的最佳者;4、给出各种算法的设计程序和计算结果。

【目的意义】1、通过上机计算体会迭代法求解线性方程组的特点,并能和消去法比较;2、运用所学的迭代法算法,解决各类线性方程组,编出算法程序;3、体会上机计算时,终止步骤 < 或k >(予给的迭代次数),对迭代法敛散性的意义;4、体会初始解 x ,松弛因子的选取,对计算结果的影响。

【程序代码】//Jacobi.cpp#include<iostream>#include<cmath>using namespace std;#define N 15//最大迭代次数#define P 10//矩阵的阶数//#define P 8static double a[10][10]={4,2,-3,-1,2,1,0,0,0,0,8,6,-5,-3,6,5,0,1,0,0,4,2,-2,-1,3,2,-1,0,3,1,0,-2,1,5,-1,3,-1,1,9,4,-4,2,6,-1,6,7,-3,3,2,3,8,6,-8,5,7,17,2,6,-3,5,0,2,-1,3,-4,2,5,3,0,1,16,10,-11,-9,17,34,2,-1,2,2,4,6,2,-7,13,9,2,0,12,4,0,0,-1,8,-3,-24,-8,6,3,-1};static double b[10]={5,12,3,2,3,46,13,38,19,-21};static double x_jing[10]={1,-1,0,1,2,0,3,1,-1,2};//精确解static double x0[10]={0,0,0,0,0,0,0,0,0,0};static double x1[10];static int k,i,j;//static double a[8][8]={4,2,-4,0,2,4,0,0,// 2,2,-1,-2,1,3,2,0,// -4,-1,14,1,-8,-3,5,6,// 矩阵B 0,-2,1,6,-1,-4,-3,3,// 2,1,-8,-1,22,4,-10,-3,// 4,3,-3,-4,4,11,1,-4,// 0,2,5,-3,-10,1,14,2,// 0,0,6,3,-3,-4,2,19};//static double b[8]={0,-6,6,23,11,-22,-15,45};//static double x_jing[8]={1,-1,0,2,1,-1,0,2};//static double x0[8]={0,0,0,0,0,0,0,0};//static double x1[8];//static double a[10][10]={4,-1,0,0,0,0,0,0,0,0,// -1,4,-1,0,0,0,0,0,0,0,// 0,-1,4,-1,0,0,0,0,0,0,// 0,0,-1,4,-1,0,0,0,0,0,// 矩阵C 0,0,0,-1,4,-1,0,0,0,0,// 0,0,0,0,-1,4,-1,0,0,0,// 0,0,0,0,0,-1,4,-1,0,0,// 0,0,0,0,0,0,-1,4,-1,0,// 0,0,0,0,0,0,0,-1,4,-1,// 0,0,0,0,0,0,0,0,-1,4};//static double b[10]={7,5,-13,2,6,-12,14,-4,5,-5}; //static double x_jing[10]={2,1,-3,0,1,-2,3,0,1,-1}; //static double x0[10]={0,0,0,0,0,0,0,0,0,0};double Max(int y)//求算该次迭代的误差{double sum,max;for (i=0;i<P;i++){sum=0;for (j=0;j<P;j++)sum+=a[i][j]*x0[j];x1[i]=x0[i]+(b[i]-sum)/a[i][i];}max=fabs(x_jing[0]-x1[0]);for (i=1;i<P;i++){if (fabs(x_jing[i]-x1[i])>max)max=fabs(x_jing[i]-x1[i]);}cout<<"第"<<y<<"次迭代的误差为"<<max<<endl;return max;}void main(){double e[3]={10e-3,10e-4,10e-5};double max;int t;cout<<"请选择精确度:0、10e-3 1、10e-4 2、103-5 ";cin>>t;for (k=0;k<N;k++){max=Max(k);if (max<e[t])//判断精度是否符合要求,若符合则跳出程序,否则继续迭代{ k=k;break;}else{for (i=0;i<P;i++)x0[i]=x1[i];}}if (k<N)//输出结果{cout<<"迭代次数为"<<k<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}else{cout<<"迭代次数超过"<<N<<"迭代终止!"<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}}//Gauss-Seidol.cpp#include<iostream>#include<cmath>using namespace std;#define N 15//最大迭代次数//#define P 10//矩阵的阶数#define P 8//static double a[10][10]={4,2,-3,-1,2,1,0,0,0,0,// 8,6,-5,-3,6,5,0,1,0,0,// 4,2,-2,-1,3,2,-1,0,3,1,// 0,-2,1,5,-1,3,-1,1,9,4,// -4,2,6,-1,6,7,-3,3,2,3,// 8,6,-8,5,7,17,2,6,-3,5,// 0,2,-1,3,-4,2,5,3,0,1,// 16,10,-11,-9,17,34,2,-1,2,2,// 4,6,2,-7,13,9,2,0,12,4,// 0,0,-1,8,-3,-24,-8,6,3,-1};//static double b[10]={5,12,3,2,3,46,13,38,19,-21};//static double x_jing[10]={1,-1,0,1,2,0,3,1,-1,2};//精确解//static double x0[10]={0,0,0,0,0,0,0,0,0,0};//static double x1[10];static int k,i,j;static double a[8][8]={4,2,-4,0,2,4,0,0,2,2,-1,-2,1,3,2,0,-4,-1,14,1,-8,-3,5,6,0,-2,1,6,-1,-4,-3,3,2,1,-8,-1,22,4,-10,-3,4,3,-3,-4,4,11,1,-4,0,2,5,-3,-10,1,14,2,0,0,6,3,-3,-4,2,19};static double b[8]={0,-6,6,23,11,-22,-15,45};static double x_jing[8]={1,-1,0,2,1,-1,0,2};static double x0[8]={0,0,0,0,0,0,0,0};static double x1[8];//static double a[10][10]={4,-1,0,0,0,0,0,0,0,0,// -1,4,-1,0,0,0,0,0,0,0,// 0,-1,4,-1,0,0,0,0,0,0,// 0,0,-1,4,-1,0,0,0,0,0,// 矩阵C 0,0,0,-1,4,-1,0,0,0,0,// 0,0,0,0,-1,4,-1,0,0,0,// 0,0,0,0,0,-1,4,-1,0,0,// 0,0,0,0,0,0,-1,4,-1,0,// 0,0,0,0,0,0,0,-1,4,-1// 0,0,0,0,0,0,0,0,-1,4};//static double b[10]={7,5,-13,2,6,-12,14,-4,5,-5};//static double x_jing[10]={2,1,-3,0,1,-2,3,0,1,-1};//精确解//static double x0[10]={0,0,0,0,0,0,0,0,0,0};double Max(int y)//求算该次迭代的误差{double sum1,sum2,max;for (i=0;i<P;i++){sum1=0;sum2=0;for (j=0;j<=i-1;j++)sum1+=a[i][j]*x1[j];for (j=i+1;j<P;j++)sum2+=a[i][j]*x0[j];x1[i]=(b[i]-sum1-sum2)/a[i][i];}max=fabs(x_jing[0]-x1[0]);for (i=1;i<P;i++){if (fabs(x_jing[i]-x1[i])>max)max=fabs(x_jing[i]-x1[i]);}cout<<"第"<<y<<"次迭代的误差为"<<max<<endl;return max;}void main(){double e[3]={10e-3,10e-4,10e-5};double max;int t;cout<<"请选择精确度:0、10e-3 1、10e-4 2、103-5 ";cin>>t;for (k=0;k<N;k++){max=Max(k);if (max<e[t])//判断精度是否符合要求,若符合则跳出程序,否则继续迭代{ k=k;break;}else{for (i=0;i<P;i++)x0[i]=x1[i];}}if (k<N)//输出结果{cout<<"迭代次数为"<<k<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}else{cout<<"迭代次数超过"<<N<<"迭代终止!"<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}}//SOR.cpp#include<iostream>#include<cmath>using namespace std;#define N 15//最大迭代次数#define P 10//矩阵的阶数//#define P 8//static double a[10][10]={4,2,-3,-1,2,1,0,0,0,0,// 8,6,-5,-3,6,5,0,1,0,0,// 4,2,-2,-1,3,2,-1,0,3,1,// 矩阵A 0,-2,1,5,-1,3,-1,1,9,4,// -4,2,6,-1,6,7,-3,3,2,3,// 8,6,-8,5,7,17,2,6,-3,5,// 0,2,-1,3,-4,2,5,3,0,1,// 16,10,-11,-9,17,34,2,-1,2,2,// 4,6,2,-7,13,9,2,0,12,4,// 0,0,-1,8,-3,-24,-8,6,3,-1};//static double b[10]={5,12,3,2,3,46,13,38,19,-21};//static double x_jing[10]={1,-1,0,1,2,0,3,1,-1,2};//精确解//static double x0[10]={0,0,0,0,0,0,0,0,0,0};static double x1[P];static double sumx[P];static int k,i,j;//static double a[8][8]={4,2,-4,0,2,4,0,0,// 2,2,-1,-2,1,3,2,0,// -4,-1,14,1,-8,-3,5,6,// 矩阵B 0,-2,1,6,-1,-4,-3,3,// 2,1,-8,-1,22,4,-10,-3,// 4,3,-3,-4,4,11,1,-4,// 0,2,5,-3,-10,1,14,2,// 0,0,6,3,-3,-4,2,19};//static double b[8]={0,-6,6,23,11,-22,-15,45};//static double x_jing[8]={1,-1,0,2,1,-1,0,2};//static double x0[8]={0,0,0,0,0,0,0,0};//static double x1[8];static double a[10][10]={4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4,-1,0,0,0,0,0,0,0,0,-1,4};static double b[10]={7,5,-13,2,6,-12,14,-4,5,-5};static double x_jing[10]={2,1,-3,0,1,-2,3,0,1,-1};//精确解static double x0[10]={0,0,0,0,0,0,0,0,0,0};double Max(double w,double y){double sum1,sum2,max;for (i=0;i<P;i++){sum1=0;sum2=0;for (j=0;j<=i-1;j++)sum1+=a[i][j]*x1[j];for (j=i;j<P;j++)sum2+=a[i][j]*x0[j];sumx[i]=w*(b[i]-sum1-sum2)/a[i][i];x1[i]=x0[i]+sumx[i];}max=fabs(x_jing[0]-x1[0]);for (i=1;i<P;i++){if (fabs(x_jing[i]-x1[i])>max)max=fabs(x_jing[i]-x1[i]);}cout<<"第"<<y<<"次迭代的误差为"<<max<<endl;return max;}void main(){double e[3]={10e-3,10e-4,10e-5};double w[5]={0.8,0.9,1,1.1,1.2};double max;int t,l;cout<<"请选择精确度:0、10e-3 1、10e-4 2、103-5 ";cin>>t;cout<<"请选择松弛因子:0、0.8 1、0.9 2、1 3、1.1 4、1.2 ";cin>>l;for (k=0;k<N;k++){max=Max(w[l],k);if (max<e[t])//判断精度是否符合要求,若符合则跳出程序,否则继续迭代{ k=k;break;}else{for (i=0;i<P;i++)x0[i]=x1[i];}}if (k<N)//输出结果{cout<<"迭代次数为"<<k<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}else{cout<<"迭代次数超过"<<N<<"迭代终止!"<<endl;cout<<"方程组的解为"<<endl;for (i=0;i<P;i++)cout<<" "<<x1[i]<<endl;}}【运行结果】方程A :⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡1-421534100368-24-3-81-012029137-2621-234179-11-1003524-31-23-6217758-6233-761-62911-31-512-301-231-2-2010563-5-6000121-3-2416084-0484⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡10987654321x x x x x x x x x x =⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡-2119381346323125Jacobi 迭代Gauss-Seidol迭代SOR迭代方程B Jacobi迭代Gauss-Seidol迭代SOR迭代方程C ⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡----=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡554141262135741-000000001-000000041-0000001-41-0000001-41-0000001-41-0000001-41-0000001-41-0000001-41-0000001-400000001-000000001-410987654321x x x x x x x x x xJacobi 迭代Gauss-Seidol迭代(选取了不同的精度)SOR迭代(选取了不同的松弛因子)【结果分析】1、通过实验结果看出(方程C的Gauss-Seidol迭代),取的精度不同,迭代的次数也不同。

东北大学数值分析实验报告

东北大学数值分析实验报告

数值分析实验报告课题一 迭代格式的比较一、问题提出设方程f(x)=x 3- 3x –1=0 有三个实根 x *1=1.8793 , x *2=-0.34727 ,x *3=-1.53209现采用下面三种不同计算格式,求 f(x)=0的根 x *1 或x *21、 x =213x x + 2、 x = 313-x3、 x = 313+x二、要求1、编制一个程序进行运算,最后打印出每种迭代格式的敛散情况;2、用事后误差估计k k x x -+1〈ε来控制迭代次数,并且打印出迭代的次数;3、初始值的选取对迭代收敛有何影响;4、分析迭代收敛和发散的原因。

三、目的和意义1、通过实验进一步了解方程求根的算法;2、认识选择计算格式的重要性;3、掌握迭代算法和精度控制;4、明确迭代收敛性与初值选取的关系。

程序代码:#include<iostream> #include<cmath> #include<cstdlib> using namespace std;double f(double i) //外调函数f(x),每次更新新的函数 {//以第一种迭代方式为例子 double k,m,sum; k=3*i+1;m=pow(i,2.0); sum=k/m; return sum; }int main() {double x,x0;int N;//最大迭代次数 int k;cout<<"输入初解:"; cin>>x0;cout<<"输入最大迭代次数:"; cin>>N;for(k=1;k<=N;k++){x=f(x0);if(fabs(x-x0)<0.0000001){cout<<"迭代次数:"<<k<<endl;cout<<"输出得到的解:"<<x<<endl;system("pause");return 0;}else x0=x;}cout<<"已达到最大迭代次数:"<<N<<endl;cout<<"输出得到的解:"<<x<<endl;system("pause");return 0;}实验结果:四、程序运行结果讨论和分析:对于第一种迭代格式,收敛区间[-8.2 -0.4],在该收敛区间内迭代收敛于-1.53209,只能求得方程的一个根;对于第二种迭代格式,收敛区间[-1.5 1.8],在该收敛区间内迭代收敛于-0.34730,同样只能求得方程的一个根;对于第三种迭代格式,收敛区间[-0.3 +∞),在该收敛区间内迭代收敛于 1.87937,只能求得方程的一个根;由以上结果很容易发现,初值的选取对迭代敛散性有很大影响。

研究生《数值分析》试题

研究生《数值分析》试题

数值分析试题一.(10分)设给实数0a >,初值00x >:⑴试建立求1a的Newton 迭代公式,要求在迭代函数中不含除法运算; ⑵证明给定初值0x ,迭代收敛的充分必要条件为020x a<<;⑶该迭代的收敛速度是多少?⑷取00.1x =,计算15的近似值,要求计算迭代三次的值(结果保留5位小数)。

二.(10分)试确定参数,,a b c ,使得下面分段多项式函数()s x 是三次样条函数。

332,01()1(1)(1)(1),132x x s x x a x b x c x ⎧≤≤⎪=⎨--+-+-+≤≤⎪⎩ ()s x 是否是自然样条函数?三.(10分)利用Dollite 三角分解方法求解方程组123121022331302x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎣⎦⎣⎦⎣⎦ 四.(10分)给定3阶线性方程组123122*********x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦讨论其Jacobi 迭代格式的收敛性五.(10分)推导出中矩形求积公式()()()2baa b f x dx b a f +≈-⎰ ,并求出其截断误差。

六.(10分用最小二乘法确定拟合公式bx y ae =中的参数,a b 。

七.(10分)根据已知函数表:建立不超过三次的Newton 插值项式。

八.(10分)试确定常数01,A A ,使求积公式1011()(f x dx A f A f -≈+⎰有尽可能高的代数精度,并指出代数精度是多少,该公式是否是Gauss 型?并用此公式计算积分311I dx x=⎰(结果保留5位小数)。

九.(10分)利用经典四阶Runge-Kutta 方法求初值问题:20,01(0)1y y x y '=-≤≤⎧⎨=⎩在0.2x =处的数值解(取步长0.1h =)。

10.(10分)讨论两步方法 11112(4)33n n n ny y y hy +-+'=-+ 的局部截断误差,求出它的局部阶段误差的首项(主部),它是多少阶的? (在线性多步法的局部截断误差中10111[()()],2,3,!p prr r i i i i C i a r i b r r -==-⎧⎫=--+-=⎨⎬⎩⎭∑∑ )。

(汇总)东北大学-数值分析--考试题解析.ppt

(汇总)东北大学-数值分析--考试题解析.ppt

构造函数(t)=(t)-H3(t)-C(x)t(t-1)2(t-2) 于是,存在x,使(4)(x)=0,即(4)(x)-4!C(x)=0
R(x) f (4) ( x ) x(x 1)2 (x 2)
4!
五、(12分)试确定参数A,B,C及,使数值积分公式
2
2
f
(x)dx
Af
( )
Bf
(0)
Cf
( )
有尽可能高的代数精度,并问代数精度是多少?它是否是
Gauss公式?
解 令公式对(x)=1,x,x2,x3,x4都精确成立,则有 4=A+B+C, 0=A-C, 16/3=A2+C2, 0=A3-C3 64/5=A4+C4 ,解得:A=C=1精0品/文9档,B=16/9,=(12/5)1/2 7
令2(x)=cx(x-1)2,可得2(x)=0.5x(x-1)2;
令1(x)=cx(x-1)(x-2),可得1(x)=-x(x-1)(x-2),
于是
H3(x)==-x(3x--21.)5x2(2x+-22.)5-x3+x2(精x品-2文)档+2.5x(x-1)2
–0.5x(x-1)(x-2) 6
由于,R(0)=R(1)=R(2)=R(1)=0, 故可设 R(x)=C(x)x(x-1)2(x-2)
(3)因为0<</2,所以() cos / 2 1 sin 0
故,此迭代法线性收敛(收敛阶为1).
三、(14分)设线性方程组
4x1 x2 2x3 1 x1 5x2 x3 2 2x1 x2 6x3 3
(1)写出Jacobi法和SOR法的迭代格式(分量形式);
(2)讨论这两种迭代法的收敛性.

东北大学数值分析7

东北大学数值分析7
3
1 f ( x)dx A0 f (1) A1 f (0) A2 f (1)
1
具有尽可能高的代数精度,并问代数精度是多少? 解 令公式对ƒ(x)=1,x,x2都精确成立,则

A0+A1+A2=2 -A0+A2=0 A0+A2=2/3
1
,解得:A0=A2=1/3, A1=4/3.
3
的求积公式,使其代数精度尽可能高。
解 令公式对ƒ(x)=1,x,x2都精确成立,则

A0+A1+A2=3 A1+3A2=4.5 A1+9A2=9
,解之得:A0=0,A1=9/4,A2=3/4.
数值求积公式为
3 0 f ( x)dx [3 f (1) f (3)] 4 例6 试确定参数A0,A1,A2,使求积公式
C
( 4) 0
7 16 ( 4) 2 16 7 ( 4) ( 4) ( 4) , C1 , C 2 , C3 , C 4 90 45 15 45 90
于是有
ba [7 f ( x0 ) 32 f ( x1 ) 12 f ( x 2 ) 32 f ( x3 ) 7 f ( x 4 )] a f ( x)dx 90
n
A0 A1 ... An b a 2 2 x0 A0 x1 A1 ... x n An b a 2 …………………… b n 1 a n 1 x0n A0 x1n A1 ... x nn An n 1
这是关于A0,A1,…,An的线性方程组,其系数行列式为
b
R[ f ] a f ( x)dx a p 2 ( x)dx a f ( x)dx a H 3 ( x)dx a [ H 3 ( x) p 2 ( x)]dx 1 b ( 4) ab 2 a f ( x )( x a)( x ) ( x b)dx 4! 2 f ( 4 ) ( ) b ab 2 ) ( x b)dx a ( x a )( x 4! 2 (b a ) 5 ( 4 ) f ( ) , ( a, b) 2880
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析试题 2007.12一、简答下列各题:(每题4分,共20分)1.为了提高计算精度,求方程x 2-72x+1=0的根,应采用何种公式,为什么?2.设⎪⎪⎭⎫ ⎝⎛=2112A ,求)(A ρ和2)(A Cond 。

3.设⎪⎪⎪⎭⎫ ⎝⎛=131122321A ,求A 的LU 分解式。

4.问23221)2(x x x x ++=是不是3R 上的向量范数,为什么? 5.求数值积分公式⎰-≈ba ab a f dx x f ))(()(的截断误差R[ƒ]。

二、解答下列各题:(每题8分,共56分)1.已知线性方程组⎪⎩⎪⎨⎧=-+=-+=-+3532314321321321x x x x x x x x x ,问能用哪些方法求解?为什么?2.解线性方程组b Ax =的Gauss-Seidel 迭代法是否收敛?为什么?其中:⎪⎪⎪⎭⎫ ⎝⎛--=211111112A3.设]2,0[)(4C x f y ∈=,且0)0(,0)2(,2)1(,1)0(='===f f f f ,试求)(x f 的三次插值多项式)(3x H ,并写出余项)()()(33x H x f x R -=。

4.给定离散数据试求形如3bx a y +=的拟合曲线。

5.求区间[0,1]上权函数为x x =)(ρ的正交多项式)(0x p ,)(1x p 和)(2x p 。

6.确定求积系数321,,A A A ,使求积公式:⎰+++-≈31321)532()2()532()(f A f A f A dx x f具有尽可能高的代数精度,并问代数精度是多少?7. 利用2=n 的复化Simpson 公式计算计算定积分 ,并估计误差][f R 。

三、(12分)已知方程0cos 2=-x x , 1.证明此方程有唯一正根α;2.建立一个收敛的迭代格式,使对任意初值]1,0[0∈x 都收敛,说明收敛理由和收敛阶。

3.若取初值00=x ,用此迭代法求精度为510-=ε的近似根,需要迭代多少步? 四、(12分)已知求解常微分方程初值问题:⎩⎨⎧∈=='],[,)(),(b a x a y y x f y α的差分公式:⎪⎪⎪⎩⎪⎪⎪⎨⎧=++==++=+α0121211)32,32(),()3(4y hk y h x f k y x f k k k h y y n n n n n n 1.证明:此差分公式是二阶方法;2.用此差分公式求解初值问题1)0(,10=-='y y y 时,取步长h=0.25,所得数值解是否稳定,为什么?⎰10sin xdx数值分析试题(参考答案)一、1.应采用公式:1211221)13636(,13636---+==-+=x x x ,避免相近数相减。

2.A 的特征值为3,121==λλ,所以)(A ρ=3;2)(A Cond =3⨯1=1。

3.由⎪⎪⎪⎭⎫ ⎝⎛=131122321A ⎪⎪⎪⎭⎫ ⎝⎛----→2/92/11522321,故⎪⎪⎪⎭⎫⎝⎛---⎪⎪⎪⎭⎫ ⎝⎛-=2/95232112/11121A 。

4.不是,不满足非负性(如0)2,1,0(≠-=T x ,但0=x )。

5.⎰--=ba ab a f dx x f f R ))(()()(),(,2)()())((2b a a b f dx a x f bax ∈-'=-'=⎰ξξξ.二、1.由于系数矩阵各阶顺序主子式都不为零,所以可用顺序Gauss 消元法; 由于系数矩阵行列式不为零,也可以用列主元(全主元)Gauss 消元法; 由于系数矩阵各阶顺序主子式都不为零,所以可用直接三角分解法(LU ). 由于系数矩阵是严格对角占优矩阵,可用J-法,G-S 法和SOR(10≤<ω)法。

2.令021112=--λλλλλλ得:0)12(2=+λλ,所以G-S 迭代矩阵G 的特征值为:2/1,0321-===λλλ,于是12/1)(<=G ρ,所以G-S 迭代法收敛。

3.设002211003)()()()()(y x y x y x y x x H '+++=ψϕϕϕ)(2)(10x x ϕϕ+= 其中,)2)(1)(()(0--+=x x b ax x ϕ)2)(1)(23(4/1--+=x x x)2()(21-=x Cx x ϕ)2(2--=x x所以,)2(2)2)(1)(23(4/1)(23----+=x x x x x x H )2)(25(4/12-++-=x x x 〔或令)2)(()(23-++=x c bx ax x H ,用待定系数法求出。

〕余项为:)2,0(,)2)(1(!4)()()()(2)4(33∈--=-=x x x x x f x H x f x R ξξ 4.取310)(,1)(x x x ==ϕϕ,则有T T T f x )2,0,1,1(,)8,1,0,1()(,)1,1,1,1(10-=-==ϕϕ,正则方程组为⎩⎨⎧=+=+15668284b a b a ,拟合曲线:3322.006.05011503x x y -=+=。

5.区间[0,1]上x x =)(ρ的正交多项式:1)(0=x p ,32),(),()(1010200001-=-=-=⎰⎰x xdxdx x x p p p p x x x p ,)32()3/2()3/2()(12103110322-----=⎰⎰⎰⎰x dxx x dxx x xdx dxx x x p 103562+-=x x 。

6.令公式对f(x)=1,x,x 2精确成立,得2321=++A A A ,4)5/32(2)5/32(321=+++-A A A , 解得:98,95231===A A A3/26)5/32(4)5/32(32212=+++-A A A所以,公式为:)]5/32(5)2(8)5/32(5[91)(31+++-≈⎰f f f dx x ff(x)=x 3时,左=20,右=180/9=20,公式精确成立,f(x)=x 4时,左=242/5,右=2178/5/9=242/5,公式精确成立, f(x)=x 5时,左=364/3,右=1092/9=364/3,公式精确成立, f(x)=x 6时,公式不精确成立,所以,公式的代数精度为5。

7.=++++=≈⎰]1sin 43sin 441sin 421sin 20[sin 121sin 210S xdx 0.459707744000018261.01628801sin 22880)01(|)(|445≈⨯=⨯-≤M f R 三、1.记x x x f cos 2)(-=,由于0sin 2)(>+='x x f ,所以)(x f 是严格单调增函数,又由于01)0(<-=f ,01cos 2)1(>-=f ,所以方程0)(=x f 有唯一正根α,且在区间(0,1)内。

2.将方程改写为:2/cos x x =可建立迭代格式:,...2,1,0,cos 2/11==+k x x k k ,且迭代函数为:x x cos 2/1)(=ϕ。

由于]1,0[,12/1)(1cos 2/10∈<≤≤<x x ϕ ,且]1,0[,121sin sin 21)(∈<≤='x x x ϕ,所以,对任意]1,0[0∈x 此迭代法收敛,又由于)1,0(,0sin 21)(∈≠='αααϕ此迭代法是线性收敛的,即收敛阶为1。

3.128.13)1sin 2/1ln(/2/1)1sin 2/11(10ln ln /||)1(ln 501≈-=--≥-L x x L k ε,k =14。

若取L=1/2,可得k ≥16.6096,则取k =17。

四、1.由于+∂∂+∂∂+=++=)(32)32,32(12n nn n n n f yf x f h f hk y h x f k)()9494294(23222222222h O f h yf f h y x f h x f h n n n n n +∂∂+∂∂∂+∂∂+ 所以有:+∂∂+∂∂++=+)(221n n n n n n f y f x f h hf y y )()2(642222223h O f yf f y x f x f h n n n n n +∂∂+∂∂∂+∂∂+ 又由于:)()(!31)(21)()()()(4321h O h x y h x y h x y x y h x y x y n n n n n n +'''+''+'+=+=+ +∂∂+∂∂++=)(22n nn n n f yf x f h hf y )()(!643h O x y h n +''' 所以有:)()(311h O y x y n n =-++,此差分公式是二阶方法。

2.对1)0(,10=-='y y y ,由于)320(10,1021n n n hy y k y k --=-=,差分公式为: n n n y h h k k hy y )50101()3(42211+-=++=+ 当h =0.25时,由于|1-10h+50h 2|=1.625>1,所以,所得数值解不稳定。

相关文档
最新文档