当前位置:文档之家› 数值分析第7章作业

数值分析第7章作业

数值分析第7章作业
数值分析第7章作业

第7章 非线性方程与方程组的数值解法

1、用二分法求方程210x x --=的正根,要求误差小于0.05。

解:设2()1f x x x =--,(1)10f =-<,(2)10f =>,故[1,2]为()f x 为有根区间。又()21f x x '=-,故当102

x <<

时,()f x 单减,当12

x >

时,()f x 单增。而

15()24

f =-,(0)1f =-,由单调性知()0f x =的惟一正根*(1,2)x ∈。

根据二分法的误差估计式*1

1()

2

n n x x b a +-≤-知

要求误差小于0.05,只需

1

10.052

k +<,解得,1 5.322k +>,故至少应二分

6次。

具体计算结果如下表*

1lim ()0,lim lim

()n n n n n n n n b a x b a x

→∞

→∞

→∞

-==+=

2、为求方程在3210x x --=在0 1.5

x =附近的一个根,设将方程改写成下列等价

形式,并建立相应的迭代公式。 (1)2

11/x x =+,迭代公式

2

111/k k

x x +=+;

(2)32

1x x

=+,迭代公式

1k x +=

(3)

2

1

1x x =

-,迭代公式11/

k x +=

试分析迭代公式的收敛性,并选取一种公式求出具有四位有效数字的近似根。 解:取

0 1.5

x =的邻域[1.3 1.6]来考察

(1) 当[]1.3,1.6x ∈时,[]2

1()1 1.3,1.6x x

?=+

∈,3

3

22()11.3

x L x

?'=-

=<,故

迭代式

2

111/k k

x x +=+在[]1.3,1.6上整体收敛。

(2) 当[]1.3,1.6x ∈时,()[]1/3

2()1 1.3,1.6x x ?=+∈,

()

()

222

2

3

3

22 1.6

()0.52213

3

11 1.6x

x L x ?'=

<

≤=<++

,故迭代式

1k x +=

在[]1.3,1.6上整体收敛。

(3) 当[]1.3,1.6x ∈

时,[]() 1.3,1.6x ?=

,故

11/k x +=发散。

计算(2)中迭代计算

*

3

1110

12

k k k L x x

x x L

---≤

-<

?-

即3

3

11110

0.510

2k k L x x L

-----<

??

取0 1.5x =,计算结果见下表

由于3

65110

2x x --<

?,故取6 1.466x x *≈≈

6、设2()()()()()x x p x f x q x f x ?=--,试确定函数()p x 和()q x ,使求解()0f x =且()x ?为迭代函数的迭代法至少三阶收敛。

解:要求1()k k x x ?+=三阶收敛到()0f x =的根*x ,根据收敛定理

(),()0,()0x x x x ???*

*

*

*

'''===于是由

2

()()()()()x x p x f x q x f x x ?*

*

*

*

*

*

*

=--=

()1()()0x p x f x ?***

''=-=

2

()2()()()()2()()0x p x f x p x f x q x f x ?******

*'''''''??=---=??

得1()()

p x f x =

',[]

3

()()2()f x q x f x ''=

'

即迭代至少三阶收敛。

9

1

01,02k k k a x x x x +??=+> ???

证明对一切1,2,,k k x =≥ 且序列12,,x x 是递减的。 证明:用数列的办法。因00x >由1112k k k a x x x --??

=

+ ???

知0k x ≥

知2

11,2,32k x k ?

=+≥=

?

又由

12111,12

22

2k k

k

x a a k x x

a

+=

+

+

=?≥

故1k k x x +≤,即{}1k k x ∞

=

根据单调有界原理知,{}k x 有极限,易证

数值分析大作业-三、四、五、六、七

大作业 三 1. 给定初值 0x 及容许误差 ,编制牛顿法解方程f (x )=0的通用 程序. 解:Matlab 程序如下: 函数m 文件:fu.m function Fu=fu(x) Fu=x^3/3-x; end 函数m 文件:dfu.m function Fu=dfu(x) Fu=x^2-1; end 用Newton 法求根的通用程序Newton.m clear; x0=input('请输入初值x0:'); ep=input('请输入容许误差:'); flag=1; while flag==1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)

while flag1==1 && m<=10^3 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0; end end fprintf('最大的sigma 值为:%f\n',sigma); 2.求下列方程的非零根 5130.6651()ln 05130.665114000.0918 x x f x x +??=-= ?-???解:Matlab 程序为: (1)主程序 clear clc format long x0=765; N=100; errorlim=10^(-5); x=x0-f(x0)/subs(df(),x0); n=1; while nerrorlim n=n+1; else break ; end x0=x; end disp(['迭代次数: n=',num2str(n)]) disp(['所求非零根: 正根x1=',num2str(x),' 负根x2=',num2str(-x)]) (2)子函数 非线性函数f function y=f(x) y=log((513+0.6651*x)/(513-0.6651*x))-x/(1400*0.0918); end

最新第六章习题答案-数值分析

第六章习题解答 2、利用梯形公式和Simpson 公式求积分2 1 ln xdx ? 的近似值,并估计两种方法计算值的最大 误差限。 解:①由梯形公式: 21ln 2 ()[()()][ln1ln 2]0.3466222 b a T f f a f b --= +=+=≈ 最大误差限 3''2 ()111 ()()0.0833******** T b a R f f ηη-=-=≤=≈ 其中,(1,2)η∈ ②由梯形公式: 13()[()4()()][ln14ln()ln 2]0.38586262 b a b a S f f a f f b -+= ++=++≈ 最大误差限 5(4)4()66 ()()0.0021288028802880 S b a R f f ηη-=-=≤≈, 其中,(1,2)η∈。 4、推导中点求积公式 3''()()()()() ()224 b a a b b a f x dx b a f f a b ξξ+-=-+<

数值分析第四章数值积分与数值微分习题答案

第四章 数值积分与数值微分 1.确定下列求积公式中的特定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度: 101210121 12120 (1)()()(0)(); (2)()()(0)(); (3)()[(1)2()3()]/3; (4)()[(0)()]/2[(0)()]; h h h h h f x dx A f h A f A f h f x dx A f h A f A f h f x dx f f x f x f x dx h f f h ah f f h -----≈-++≈-++≈-++''≈++-?? ?? 解: 求解求积公式的代数精度时,应根据代数精度的定义,即求积公式对于次数不超过m 的多项式均能准确地成立,但对于m+1次多项式就不准确成立,进行验证性求解。 (1)若101(1) ()()(0)()h h f x dx A f h A f A f h --≈-++? 令()1f x =,则 1012h A A A -=++ 令()f x x =,则 110A h Ah -=-+ 令2 ()f x x =,则 3 221123 h h A h A -=+ 从而解得 011431313A h A h A h -?=?? ? =?? ?=?? 令3 ()f x x =,则 3()0h h h h f x dx x dx --==? ? 101()(0)()0A f h A f A f h --++=

令4()f x x =,则 455 1012()5 2 ()(0)()3 h h h h f x dx x dx h A f h A f A f h h ---== -++=? ? 故此时, 101()()(0)()h h f x dx A f h A f A f h --≠-++? 故 101()()(0)()h h f x dx A f h A f A f h --≈-++? 具有3次代数精度。 (2)若 21012()()(0)()h h f x dx A f h A f A f h --≈-++? 令()1f x =,则 1014h A A A -=++ 令()f x x =,则 110A h Ah -=-+ 令2 ()f x x =,则 3 2211163 h h A h A -=+ 从而解得 1143 8383A h A h A h -?=-?? ? =?? ?=?? 令3 ()f x x =,则 22322()0h h h h f x dx x dx --==? ? 101()(0)()0A f h A f A f h --++=

数值分析大作业三 四 五 六 七

大作业 三 1. 给定初值 0x 及容许误差 ,编制牛顿法解方程f (x )=0的通用程序. 解:Matlab 程序如下: 函数m 文件:fu.m function Fu=fu(x) Fu=x^3/3-x; end 函数m 文件:dfu.m function Fu=dfu(x) Fu=x^2-1; end 用Newton 法求根的通用程序Newton.m clear; x0=input('请输入初值x0:'); ep=input('请输入容许误差:');

flag=1; while flag==1 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)

while flag==1 sigma=k*eps; x0=sigma; k=k+1; m=0; flag1=1; while flag1==1 && m<=10^3 x1=x0-fu(x0)/dfu(x0); if abs(x1-x0)=ep flag=0;

end end fprintf('最大的sigma 值为:%f\n',sigma); 2.求下列方程的非零根 5130.6651()ln 05130.665114000.0918 x x f x x +?? =-= ?-???解: Matlab 程序为: (1)主程序 clear clc format long x0=765; N=100; errorlim=10^(-5); x=x0-f(x0)/subs(df(),x0); n=1;

第六章习题答案数值分析.docx

第六章习题解答 2 2、利用梯形公式和 Simpson 公式求积分 ln xdx 的近似值, 并估计两种方法计算值的最大 1 误差限。 解:①由梯形公式: T ( f ) b a [ f (a) f (b)] 2 1 [ln1 ln 2] ln 2 0.3466 2 2 2 最大误差限 R ( f ) (b a)3 f '' ( ) 1 1 1 0.0833 T 12 12 2 12 12 其中, (1,2) ②由梯形公式: b a 4 f ( b a f (b)] 1 4ln( 3 ln 2] 0.3858 S( f ) [ f (a) ) [ln1 ) 6 2 6 2 最大误差限 R S ( f ) (b a)5 f (4) ( ) 6 6 0.0021, 2880 2880 4 2880 其中, (1,2) 。 4、推导中点求积公式 f ( x)dx (b a) f ( a b ) (b a) 3 (a b) b a 2 24 证明: 构造一次函数 P ( x ),使 P a 2 b f a b , P ' ( a b ) f ' ( a b ), P '' ( x) 0 2 2 2 则,易求得 P( x) f ' ( a b )( x a b ) f ( a b ) 2 2 2 且 P(x)dx f ' ( a b )( x a b ) f ( a b ) dx b b a a 2 2 2 f ( a b )dx (b a) f ( a b ) ,令 P(x)dx I ( f ) b b a 2 2 a 现分析截断误差:令 r ( x) f ( x) P(x) f ( x) f ' ( a b )( x a b ) f ( a b ) 2 2 2 由 r ' ( x) f ' (x) f ' ( a b ) 易知 x a 2 b 为 r (x) 的二重零点, 2 a b )2 , 所以可令 r (x) ( x)( x 2

数值计算方法大作业

目录 第一章非线性方程求根 (3) 1.1迭代法 (3) 1.2牛顿法 (4) 1.3弦截法 (5) 1.4二分法 (6) 第二章插值 (7) 2.1线性插值 (7) 2.2二次插值 (8) 2.3拉格朗日插值 (9) 2.4分段线性插值 (10) 2.5分段二次插值 (11) 第三章数值积分 (13) 3.1复化矩形积分法 (13) 3.2复化梯形积分法 (14) 3.3辛普森积分法 (15) 3.4变步长梯形积分法 (16) 第四章线性方程组数值法 (17) 4.1约当消去法 (17) 4.2高斯消去法 (18) 4.3三角分解法 (20)

4.4雅可比迭代法 (21) 4.5高斯—赛德尔迭代法 (23) 第五章常积分方程数值法 (25) 5.1显示欧拉公式法 (25) 5.2欧拉公式预测校正法 (26) 5.3改进欧拉公式法 (27) 5.4四阶龙格—库塔法 (28)

数值计算方法 第一章非线性方程求根 1.1迭代法 程序代码: Private Sub Command1_Click() x0 = Val(InputBox("请输入初始值x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = (Exp(2 * x0) - x0) / 5 If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求f(x)=e2x-6x=0在x=0.5附近的根(ep=10-10)

1.2牛顿法 程序代码: Private Sub Command1_Click() b = Val(InputBox("请输入被开方数x0")) ep = Val(InputBox(请输入误差限ep)) f = 0 While f = 0 X1 = x0 - (x0 ^ 2 - b) / (2 * b) If Abs(X1 - x0) < ep Then Print X1 f = 1 Else x0 = X1 End If Wend End Sub 例:求56的值。(ep=10-10)

郑州大学数值分析重点考察内容及各章习题

《数值分析》 重点考察内容及各章作业答案 学院: 学号: 姓名:

重点考察内容 基本概念(收敛阶,收敛条件,收敛区域等), 简单欧拉法。 第一章基础 掌握:误差的种类,截断误差,舍入误差的来源,有效数字的判断。 了解:误差限,算法及要注意的问题。 第二章插值 掌握:Hermite插值,牛顿插值,差商计算,插值误差估计。 了解:Lagrange插值 第三章数据拟合 掌握:给出几个点求线性拟合曲线。 了解:最小二乘原理 第四章数值积分微分 掌握:梯形公式,Simpson公式,代数精度,Gauss积分,带权Gauss积分公式推导,复化梯形公式推导及算法。 了解:数值微分,积分余项 第五章直接法 掌握:LU分解求线性方程组,运算量 了解:Gauss消去法,LDL,追赶法 第六章迭代法 掌握:Jacobi,Gauss-Seidel迭代格式构造,敛散性分析,向量、矩阵的范数、谱半径 了解:SOR迭代 第七章Nolinear迭代法 掌握:牛顿迭代格式构造,简单迭代法构造、敛散性分析,收敛阶。 了解:二分法,弦截法 第八章ODE解法 掌握:Euler公式构造、收敛阶。 了解:梯形Euler公式、收敛阶,改进Euler公式 题目类型:填空,计算,证明综合题

第一章 误差 1. 科学计算中的误差来源有4个,分别是________,________,________,________。 2. 用Taylor 展开近似计算函数000()()'()()f x f x f x x x ≈+-,这里产生是什么误差? 3. 0.7499作 3 4 的近似值,是______位有效数字,65.380是舍入得到的近似值,有____几位有效数字,相对误差限为_______. 0.0032581是四舍五入得到的近似值,有_______位有效数字. 4. 改变下列表达式,使计算结果比较精确: (1)11,||1121x x x x --++ (2 ||1x (3) 1cos ,0,|| 1.x x x x -≠ (4)sin sin ,αβαβ-≈ 5. 采用下列各式计算61)时,哪个计算效果最好?并说明理由。 (1) (2 )99-3 )6 (3-(4 6. 已知近似数*x 有4位有效数字,求其相对误差限。 上机实验题: 1、利用Taylor 展开公式计算0! k x k x e k ∞ ==∑,编一段小程序,上机用单精度计算x e 的函数 值. 分别取x =1,5,10,20,-1,-5,-10,-15,-20,观察所得结果是否合理,如不合理请分析原因并给出解决方法. 2、已知定积分1 ,0,1,2,,206 n n x I dx n x ==+? ,有如下的递推关系 111 110 0(6)61666 n n n n n x x x x I dx dx I x x n ---+-===++-? ? 可建立两种等价的计算公式 (1) 1016,0.154n n I I I n -= -=取; (2) 12011),0.6n n I nI I n -=-=(取

数值分析参考答案(第四章)

第四章 数值积分与数值微分 1.确定下列求积公式中的特定参数,使其代数精度尽量高,并指明所构造出的求积公式所具有的代数精度: 101210121 12120 (1)()()(0)(); (2)()()(0)(); (3)()[(1)2()3()]/3; (4)()[(0)()]/2[(0)()]; h h h h h f x dx A f h A f A f h f x dx A f h A f A f h f x dx f f x f x f x dx h f f h ah f f h -----≈-++≈-++≈-++''≈++-?? ?? 解: 求解求积公式的代数精度时,应根据代数精度的定义,即求积公式对于次数不超过m 的多项式均能准确地成立,但对于m+1次多项式就不准确成立,进行验证性求解。 (1)若101(1) ()()(0)()h h f x dx A f h A f A f h --≈-++? 令()1f x =,则 1012h A A A -=++ 令()f x x =,则 110A h Ah -=-+ 令2 ()f x x =,则 3 221123 h h A h A -=+ 从而解得 01 1431313A h A h A h -?=?? ?=?? ?=?? 令3 ()f x x =,则 3()0h h h h f x dx x dx --==? ? 101()(0)()0A f h A f A f h --++= 故 101()()(0)()h h f x dx A f h A f A f h --=-++? 成立。 令4 ()f x x =,则

数值分析大作业

数值分析报大作业 班级:铁道2班 专业:道路与铁道工程 姓名:蔡敦锦 学号:13011260

一、序言 该数值分析大作业是通过C语言程序编程在Microsoft Visual C++ 6.0编程软件上运行实现的。本来是打算用Matlab软间来计算非线性方程的根的。学习Matlab也差不多有一个多月了,感觉自己编程做题应该没什么问题了;但是当自己真心的去编程、运行时才发现有很多错误,花了一天时间修改、调试程序都没能得到自己满意的结果。所以,我选择了自己比较熟悉的C程序语言来编程解决非线性的求值问题,由于本作业是为了比较几种方法求值问题的收敛速度和精度的差异,选择了一个相对常见的非线性函数来反映其差异,程序运行所得结果我个人比较满意。编写C语言,感觉比较上手,程序出现问题也能比较熟练的解决。最终就决定上交一份C程序语言编程的求值程序了!

二、选题 本作业的目的是为了加深对非线性方程求根方法的二分法、简单迭代法、、牛顿迭代法弦截法等的构造过程的理解;能将各种方法的算法描述正确并且能够改编为程序并在计算机上实现程序的正确合理的运行,能得到自己满意的结果,并且能调试修改程序中可能出现的问题和程序功能的增减修改。本次程序是为了比较各种方法在求解同一非线性方程根时,在收敛情况上的差异。 为了达到上面的条件我选择自己比较熟悉的语言—C语言来编程,所选题目为计算方程f(x)=x3-2x-5=0在区间[2,3]内其最后两近似值的差的绝对值小于等于5 ?的根的几种方法的比较。 110- 本文将二分法、牛顿法、简单迭代法、弦截法及加速收敛法这五种方法在同一个程序中以函数调用的方式来实现,比较简洁明了,所得结果能很好的比较,便于分析;发现问题和得出结论。

数值分析作业答案(第4章) part2

4.6.若用复化梯形公式计算积分1 x I e dx =? , 问区间[0,1]应人多少等分才能使截断误差不超过 51 102 -??若改用复化辛普森公式,要达到同样精度区间[0,1]应分多少等分? 解:采用复化梯形公式时,余项为 2 ()(),(,)12 n b a R f h f a b ηη-''=- ∈ 又 1 x I e dx =? 故 (),(),0, 1.x x f x e f x e a b ''==== 221()()1212 n e R f h f h η''∴= ≤ 若51 ()102 n R f -≤ ?,则 256 10h e -≤? 当对区间[0,1]进行等分时, 1,h n = 故有 212.85n ≥ = 因此,将区间213等分时可以满足误差要求。 采用复化辛普森公式时,余项为 4(4) ()()(),(,)1802 n b a h R f f a b ηη-=- ∈ 又 (),x f x e = (4)4(4)4 (), 1()|()|28802880 x n f x e e R f h f h η∴=∴=-≤ 若51 ()102 n R f -≤ ?,则 451440 10h e -≤ ?

当对区间[0,1]进行等分时 1n h = 故有 1 54 1440(10) 3.71n e ≥?= 因此,将区间8等分时可以满足误差要求。 4.10.试构造高斯型求积公式 )()()(1 11001 x f A x f A dx x f x +≈? 。 解 令公式对32,,,1)(x x x x f =准确成立,得 ??? ?? ? ??? ??=+=+=+=+,72,52, 32,213103012 1020110010A x A x A x A x A x A x A A ) 4()3()2() 1( 由于 1011001100)()(A x x A A x A x A x -++=+, 利用方程(1),方程(2)可化为 3 2 )(21010= -+A x x x (5) 同样,用方程(2)化方程(3),方程(3)化方程(4),分别得 52 )(3211010=-+A x x x x (6) 7 2 )(52121010=-+A x x x x (7) 用方程(5)消去方程(6)中的101)(A x x -,即将101)(A x x -用023 2 x -代替,得 5 2 )32(32100=-+x x x (8) 用方程(6)消去方程(7)中的1101)(A x x x -,即将1101)(A x x x -用03 2 52x -代替,得

数值分析 第六章 习题

第六章 习 题 1. 计算下列矩阵的1A ,2A ,A ∞三种范数。 (1)1101A ???=????,(2)312020116A ????=??????? . 2. 用Jacobi 方法和Gauss-Seidel 迭代求解方程组 1231231 238322041133631236x x x x x x x x x ?+=??+?=??++=? 要求取(0)(0,0,0)T x =计算到(5)x ,并分别与精确解(3,2,1)T x =比较。 3. 用Gauss-Seidel 迭代求解 12312312 35163621122x x x x x x x x x ??=??++=???+=?? 以(0)(1,1,1)T x =?为初值,当(1)() 310k k x x +?∞?<时,迭代终止。 4. 已知方程组121122,2,x x b tx x b +=?? +=? (1)写出解方程组的Jacobi 迭代矩阵,并讨论迭代收敛条件。 (2)写出解方程组的Gauss-Seidel 迭代矩阵,并讨论迭代收敛条件. 5. 设有系数矩阵 122111221A ?????=?????? , 211111112B ?????=??????? , 证明:(1)对于系数矩阵A ,Jacobi 迭代收敛,而Gauss-Seidel 迭代不收敛. (2)对于矩阵B ,. 6. 讨论方程组 112233302021212x b x b x b ?????????????=??????????????????? 用Jacobi 迭代和Gauss-Seidel 迭代的收敛性;如果都收敛,比较哪种方法收敛更快.

数值分析第四版习题及答案

第四版 数值分析习题 第一章 绪 论 1. 设x >0,x 的相对误差为δ,求ln x 的误差. 2. 设x 的相对误差为2%,求n x 的相对误差. 3. 下列各数都是经过四舍五入得到的近似数,即误差限不超过最后一位的半个单位,试指 出它们是几位有效数字: *****123451.1021,0.031,385.6,56.430,7 1.0.x x x x x =====? 4. 利用公式求下列各近似值的误差限: ********12412324(),(),()/,i x x x ii x x x iii x x ++其中**** 1234 ,,,x x x x 均为第3题所给的数. 5. 计算球体积要使相对误差限为1%,问度量半径R 时允许的相对误差限是多少? 6. 设028,Y =按递推公式 1n n Y Y -=…) 计算到100Y .(五位有效数字),试问计算100Y 将有多大误差? 7. 求方程2 5610x x -+=的两个根,使它至少具有四位有效数字. 8. 当N 充分大时,怎样求 2 11N dx x +∞ +? ? 9. 正方形的边长大约为100㎝,应怎样测量才能使其面积误差不超过1㎝2 ? 10. 设 212S gt = 假定g 是准确的,而对t 的测量有±秒的误差,证明当t 增加时S 的绝对误 差增加,而相对误差却减小. 11. 序列 {}n y 满足递推关系1101n n y y -=-(n=1,2,…),若0 1.41y =≈(三位有效数字), 计算到 10y 时误差有多大?这个计算过程稳定吗? 12. 计算61)f =, 1.4≈,利用下列等式计算,哪一个得到的结果最好? 3 -- 13. ()ln(f x x =,求f (30)的值.若开平方用六位函数表,问求对数时误差有多大?若改用另一等价公式 ln(ln(x x =- 计算,求对数时误差有多大?

北航数值分析报告第三次大作业

数值分析第三次大作业 一、算法的设计方案: (一)、总体方案设计: x y当作已知量代入题目给定的非线性方程组,求(1)解非线性方程组。将给定的(,) i i

得与(,)i i x y 相对应的数组t[i][j],u[i][j]。 (2)分片二次代数插值。通过分片二次代数插值运算,得到与数组t[11][21],u[11][21]]对应的数组z[11][21],得到二元函数z=(,)i i f x y 。 (3)曲面拟合。利用x[i],y[j],z[11][21]建立二维函数表,再根据精度的要求选择适当k 值,并得到曲面拟合的系数矩阵C[r][s]。 (4)观察和(,)i i p x y 的逼近效果。观察逼近效果只需要重复上面(1)和(2)的过程,得到与新的插值节点(,)i i x y 对应的(,)i i f x y ,再与对应的(,)i i p x y 比较即可,这里求解 (,)i i p x y 可以直接使用(3)中的C[r][s]和k 。 (二)具体算法设计: (1)解非线性方程组 牛顿法解方程组()0F x =的解* x ,可采用如下算法: 1)在* x 附近选取(0) x D ∈,给定精度水平0ε>和最大迭代次数M 。 2)对于0,1, k M =执行 ① 计算() ()k F x 和()()k F x '。 ② 求解关于() k x ?的线性方程组 () ()()()()k k k F x x F x '?=- ③ 若() () k k x x ε∞∞ ?≤,则取*()k x x ≈,并停止计算;否则转④。 ④ 计算(1) ()()k k k x x x +=+?。 ⑤ 若k M <,则继续,否则,输出M 次迭代不成功的信息,并停止计算。 (2)分片双二次插值 给定已知数表以及需要插值的节点,进行分片二次插值的算法: 设已知数表中的点为: 00(0,1,,) (0,1,,)i j x x ih i n y y j j m τ=+=???=+=?? ,需要插值的节点为(,)x y 。 1) 根据(,)x y 选择插值节点(,)i j x y : 若12h x x ≤+ 或12 n h x x ->-,插值节点对应取1i =或1i n =-,

数值分析习题六解答

习 题 六 解 答 1、在区间[0,1]上用欧拉法求解下列的初值问题,取步长h=0.1。 (1)210(1)(0)2y y y '?=--?=?(2)sin (0)0x y x e y -'?=+?=? 解:(1)取h=0.1,本初值问题的欧拉公式具体形式为 21(1)(0,1,2,)n n n y y y n +=--= 由初值y 0=y(0)=2出发计算,所得数值结果如下: x 0=0,y 0=2; x 1=0.1,2100(1)211y y y =--=-= x 2=0.2,2211(1)101y y y =--=-= 指出: 可以看出,实际上求出的所有数值解都是1。 (2)取h=0.1,本初值问题的欧拉公式具体形式为 21(sin )(0,1,2,)n x n n n y y h x e n -+=++= 由初值y 0=y(0)=0出发计算,所得数值结果如下: x 0=0,y 0=0; x 1=0.1, 02 1000 (sin )00.1(sin 0)00.1(01)0.1x y y h x e e -=++=+?+=+?+= x 2=0.2, 122110.1 (sin )0.10.1(sin 0.1)0.10.1(0.10.9)0.2 x y y h x e e --=++=+?+=+?+= 指出: 本小题的求解过程中,函数值计算需要用到计算器。 2、用欧拉法和改进的欧拉法(预测-校正法)求解初值问题,取步长h=0.1。 22(00.5) (0)1 y x y x y '?=-≤≤? =? 解:(1) 取h=0.1,本初值问题的欧拉公式具体形式为 2 1(2)(0,1,2,)n n n n y y h x y n +=+-= 由初值y 0=y(0)=1出发计算,所得数值结果如下:

数值分析(第五版)计算实习题第四章作业

第四章: 1、(1):复合梯形 建立m文件: function t=natrapz(fname,a,b,n) h=(b-a)/n; fa=feval(fname,a);fb=feval(fname,b); f=feval(fname,a+h:h:b-h+0.001*h); t=h*(0.5*(fa+fb)+sum(f)); 输入: >> syms x >> f=inline('sqrt(x).*log(x);'); >> natrapz(f,eps,1,10) 输出: ans = -0.417062831779470 输入: >> syms x >> f=inline('sqrt(x).*log(x);'); >> natrapz(f,eps,1,100) 输出: ans = -0.443117908008157 输入: >> syms x >> f=inline('sqrt(x).*log(x);'); >> natrapz(f,eps,1,1000) 输出: ans = -0.444387538997162 复合辛普森 建立m文件: function t=comsimpson(fname,a,b,n)

h=(b-a)/n; fa=feval(fname,a);fb=feval(fname,b); f1=feval(fname,a+h:h:b-h+0.001*h); f2=feval(fname,a+h/2:h:b-h+0.001*h); t=h/6*(fa+fb+2*sum(f1)+4*sum(f2)); 输入: >> syms x >> f=inline('sqrt(x).*log(x);'); >> format long; >>comsimpson(f,eps,1,10) 输出: ans = -0.435297890074689 输入: >>syms x >>f=inline('sqrt(x).*log(x);'); >>comsimpson(f,eps,1,100) 输出: ans = -0.444161178415673 输入: >>syms x >>f=inline('sqrt(x).*log(x);'); >>comsimpson(f,eps,1,1000) 输出: ans = -0.444434117614180 (2)龙贝格 建立m文件: function [RT,R,wugu,h]=Romberg(fun,a,b,wucha,m) %RT是龙贝格积分表 %R是数值积分值 %wugu是误差估计 %h是最小步长 %fun是被积函数 %a b是积分下、上限

北航数值分析大作业第二题精解

目标:使用带双步位移的QR 分解法求矩阵10*10[]ij A a =的全部特征值,并对其中的每一个实特征值求相应的特征向量。已知:sin(0.50.2)() 1.5cos( 1.2)(){i j i j ij i j i j a +≠+== (i,j=1,2, (10) 算法: 以上是程序运作的逻辑,其中具体的函数的算法,大部分都是数值分析课本上的逻辑,在这里特别写出矩阵A 的实特征值对应的一个特征向量的求法: ()[]()() []()[]()111111I 00000 i n n n B A I gause i n Q A I u Bu u λλ-?-?-=-?-?? ?-=????→=??????→= ?? ? 选主元的消元 检查知无重特征值 由于=0i A I λ- ,因此在经过选主元的高斯消元以后,i A I λ- 即B 的最后一行必然为零,左上方变 为n-1阶单位矩阵[]()()11I n n -?-,右上方变为n-1阶向量[]()11n Q ?-,然后令n u 1=-,则 ()1,2,,1j j u Q j n ==???-。

这样即求出所有A所有实特征值对应的一个特征向量。 #include #include #include #define N 10 #define E 1.0e-12 #define MAX 10000 //以下是符号函数 double sgn(double a) { double z; if(a>E) z=1; else z=-1; return z; } //以下是矩阵的拟三角分解 void nishangsanjiaodiv(double A[N][N]) { int i,j,k; int m=0; double d,c,h,t; double u[N],p[N],q[N],w[N]; for(i=0;i

第六章非线性方程的数值解法习题解答

第六章非线性方程的数值解法习题解答 填空题: 1. 求方程()x f x =根的牛顿迭代格式是__________________。 Ans:1()1()n n n n n x f x x x f x +-=- '- 2.求解方程 在(1, 2)内根的下列迭代法中, (1) (2) (3) (4) 收敛的迭代法是(A ). A .(1)和(2) B. (2)和(3) C. (3)和(4) D. (4)和(1) 3.若0)()(,故迭代发散。 以上三中以第二种迭代格式较好。 2、设方程()0f x =有根,且'0()m f x M <≤≤。试证明由迭代格式1()k k k x x f x λ+=- (0,1,2,)k =L 产生的迭代序列{}0k k x ∞ =对任意的初值0(,)x ∈-∞+∞,当2 0M λ<< 时,均收敛于方程的根。

上海大学_王培康_数值分析大作业

数值分析大作业(2013年5月) 金洋洋(12721512),机自系 1.下列各数都是经过四舍五入得到的近似值,试分别指出它 们的绝对误差限, 相对误差限和有效数字的位数。 X1 =5.420, x 2 =0.5420, x 3=0.00542, x 4 =6000, x 5=50.610? 解:根据定义:如果*x 的绝对误差限 不超过x 的某个数位的半个单位,则从*x 的首位非零数字到该位都是有效数字。 显然根据四舍五入原则得到的近视值,全部都是有效数字。 因而在这里有:n1=4, n2=4, n3=3, n4=4, n5=1 (n 表示x 有效数字的位数) 对x1:有a1=5, m1=1 (其中a1表示x 的首位非零数字,m1表示x1的整数位数) 所以有绝对误差限 143 11 (1)101022 x ε--≤ ?=? 相对误差限 31() 0.510(1)0.00923%5.4201 r x x x εε-?= == 对x2:有a2=5, m2=0 所以有绝对误差限 044 11 (2)101022 x ε--≤ ?=? 相对误差限 42() 0.510(2)0.00923%0.54202 r x x x εε-?= == 对x3:有a3=5, m3=-2 所以有绝对误差限 235 11 (3)101022 x ε---≤ ?=? 相对误差限 53() 0.510(3)0.0923%0.005423 r x x x εε-?= == 对x4:有a4=0, m4=4 所以有绝对误差限 4411(4)1022 x ε-≤?= 相对误差限 4() 0.5 (4)0.0083%6000 4 r x x x εε= = = 对x5:有a5=6, m5=5 所以有绝对误差限 514 11(5)101022 x ε-≤ ?=? 相对误差限 45() 0.510(5)8.3%600005 r x x x εε?= ==

数值分析第三章作业

16. 求运动方程. 解:设运动方程为S = at + b,由给定数据得 616 1 =∑=i ,7.1461 =∑=i i x , 63.536 1 2=∑=i i x , 2806 1 =∑=i i y ,10786 1 =∑=i i i y x 得 ?? ?=+=+1078 63.537.14280 7.146a b a b 解得 b=-7.8550478,a=22.25376 运动方程为S=22.25376t-7.8550478 17.已知实验数据如下: 用最小二乘法求一个形如2bx a y +=的经验公式,并计算均方误差. 解:由题意{} 2102)(,1)(,,1x x x x span ===??φ, 所以51), (2 5 1 00==∑=i ?? 7277699),(5 1 4 11== ∑=i i x ?? 5327),(5 12 10== ∑=i i x ?? 4.271),(5 1 0== ∑=i i y y ? 5.369321),(5 1 2 1==∑=i i i y x y ? 得

?? ?=+=+5.36932172769953274 .27153275b a b a 解得:a=0.9726046,b=0.0500351 所以经验公式为 y=0.9726046+0.0500351x 2 均方误差为 : [ ] 130.0)01693.0(),(),(||||||||2 12 11022 2==--=y b y a y ??δ 18.在某化学反应中,由实验得分解物浓度与时间关系如下: 用最小二乘法求)(t f y = 解:将给定数据点画出草图,可见曲线近似指数函数,故设t b ae y =,两边取对数得 t b Ina Iny + = 记Ina A Iny y ==,,则有 t b A y 1 += 即t x x t span 1 )(,1)(},1,1{10===??φ,计算 ∑=== 11 1 2 00111),(i ??,∑=== 11 1 2 1106232136.01 ),(i i t ?? 6039755.0t 1 ),(),(11 1 i 1010∑ === =i ???? ∑=== 11 1 0639649.13),(i i y y ? ,∑=== 11 115303303.0),(i i i t y y ? 从而解得法方程为 ?? ?=+=+5303303 .0062321366.06039755.0639649 .1360397556.011b A b A

相关主题
文本预览
相关文档 最新文档