数值分析_计算实习题目一

数值分析_计算实习题目一
数值分析_计算实习题目一

《数值分析B》计算实习题目第一题

北航

一.算法设计方案:

1 .首先输入给定的矩阵A,由于所给的矩阵是501*501的大型矩阵,同时A也是带状的矩阵,可以进行压缩存储。压缩成5*501的矩阵c。A的每一行是c的每一列,其对应的计算公式为a(i,j)=c(i-j+3,i)。

2.由于λ1?λ2?…?λ501,所以在以所有特征值建立的数轴上,λ1、λ501位于数轴的两端,两者之一必为按模最大。利用幂法,可以求出来按模最大的特征值,但该值可能为λ1也可能为λ501。幂法求解过程中调用幂法子程序。

3.上步求出按模最大的特征值λ后,将原矩阵平移λ值,再利用幂法求一次平移后矩阵的按模最大的特征值,即是数轴上另一端点值λ′。比较λ与λ+λ′的大小,大的为矩阵A的最大特征值,小的为A矩阵的最小的特征值。

4.利用反幂法,求矩阵A的按模最小的特征值。但是反幂法中要用到线性方程组的求解,而原矩阵A又是带状矩阵,采用LU分解。把矩阵的LU分解编成一个子程序,在反幂法中调用即可。此时可求解出λs。

5.在求和给定数值最接近的特征值时,先利用循环求出k从1到39变化的uk的值。在每次循环时都将压缩矩阵的第三行减去相应的平移量uk,然后调用LU分解的子程序,利用反幂法求出与uk最接近的特征值,该特征值等于利用反幂法求出的值与uk的和。

6.A的谱范数条件数等于按模最大的特征值的绝对值与按模最小的特征值的绝对值之比,按模最大的特征值与按模最小的特征值已分别在前面求出。

7.A的行列式的值就是矩阵A进行LU分解后U的对角线元素的乘积。

二.源程序:

本计算方法采用Visual Basic软件进行编程计算,源程序如下:

1.主窗体程序

Private Sub Form_Load() ‘窗体加载

atten.Caption = "Attention:点启动程序后,程序处于计算中,请勿再点击,请稍候~~"

End Sub

Private Sub main_jisuan_Click() '主程序,负责调用其他子程序

ReDim c(1 To 5, 1 To 501) '定义c为5*501的矩阵,下标从1开始

ReDim u(1 To 501) As Double, y(-1 To 503) As Double 'u为最终求解数组,y为中间过渡数组

ReDim l0(1 To 501, 1 To 501) As Double, u0(1 To 501, 1 To 501) As Double, y0(1 To 501) As Double 'LU分解法中用到的数组

ReDim uk(0 To 39) As Double, lank(1 To 39) As Double '求平移特征值的数组

'***************给C矩阵赋值,a的每一行对应C的每一列,即a(i,j)=c(i-j+3,i)****************

For j = 1 To 501

c(1, j) = -0.064

c(2, j) = 0.16

c(3, j) = (1.64 - 0.024 * j) * Sin(0.2 * j) - 0.64 * Exp(0.1 / j)

c(4, j) = 0.16

c(5, j) = -0.064

Next j

c(4, 1) = 0

c(5, 1) = 0

c(5, 2) = 0

c(1, 500) = 0

c(1, 501) = 0

c(2, 501) = 0

'******************调用幂法子程序,求解两个按模最大的特征值*************

Call mifa '调用幂法子程序计算

be1 = be '第一个特征值

k1 = k0 '纪录迭代步数

For j = 1 To 501 '平移一个位移量,计算出来的第一个特征值be1

c(3, j) = c(3, j) - be1

Next j

Call mifa '调用幂法子程序计算

be2 = be1 + be ' 第二个特征值

k2 = k0 '纪录迭代步数

If be2 > be1 Then '比较两个特征值的大小,并赋值给首尾lan

lan501 = be2

lan1 = be1

Else

lan501 = be1

lan1 = be2

End If

'*****************开始反幂法的求解按模最小的特征值**************

For j = 1 To 501 '平移回一个位移量,be1

c(3, j) = c(3, j) + be1

Next j

Call fanmifa '调用反幂法计算按模最小的特征值

be3 = 1 / be '求倒数

lans = be3

k3 = k0

'*******************求条件数***********************

cond = Abs(be1) / Abs(be3) '谱范数条件数等于按模最大的特征值的绝对值与按模最小的特征值的绝对值之比

'*******************求行列式的值*******************

det = 1 'LU 分解中直接用U的对角线相乘,U为上三角矩阵

For i = 1 To 501

det = det * u0(i, i)

Next i

'Print "行列式的值:"; det

'*********************平移特征值************************

uk(0) = 0

For i = 1 To 39

uk(i) = lan1 + i * (lan501 - lan1) / 40

For j = 1 To 501 '平移一个位移量,但是注意还原C矩阵的原始值

c(3, j) = c(3, j) - uk(i) + uk(i - 1)

Next j

Call fanmifa '调用反幂法计算

be3 = 1 / be

lank(i) = be3 + uk(i) '求得给定数下的接近的特征值

Next i

'******************结果写入txt文本中***********************

Open "D:\mydata\研究生\学习\数值分析\大作业\第一题501矩阵计算\计算结果输出.txt" For Output As 1 ' 地址可更改

Print #1, "最小特征值λ1:"; lan1; "迭代步数:"; k2

Print #1,

Print #1, "最大特征值λ501:"; lan501; "迭代步数:"; k1

Print #1,

Print #1, "按模最小特征值λs:"; lans; "迭代步数:"; k3

Print #1,

For i = 1 To 39

Print #1, "第"; i; "个:与"; Format(uk(i), "0.000000000000"); " 最接近的特征值为"; Format(lank(i), "0.000000000000")

Print #1,

Next i

Print #1,

Print #1, "A的条件数cond(A):"; cond

Print #1,

Print #1, "A的行列式的值:"; det

Close #1

atten.Caption = "Attention:程序已计算完毕,请到本程序目录下查看~~"

MsgBox "完成文件保存,请到本程序目录下查看!"

End Sub

'******************************幂法子程序*******************************************

Public Sub mifa()

For i = 1 To 501 '取初始u 矩阵(1,1,1,1, (1)

u(i) = 1

Next i

be0 = 0

k0 = 0 '迭代步数的控制参数

Do '用Do loop 循环

la = 0

For i = 1 To 501 '求中间数la,u的二范数

la = la + u(i) * u(i)

Next i

la = Sqr(la)

For i = 1 To 501 'u的单位化

y(i) = u(i) / la

Next i

For j = 1 To 501 '求出新的u向量

u(j) = 0

For i = 5 To 1 Step -1

u(j) = u(j) + c(i, j) * y(j + 3 - i)

Next i

Next j

be = 0 '求出特征值的趋向值

For i = 1 To 501

be = be + y(i) * u(i)

Next i

If Abs(be - be0) / Abs(be) <= 0.000000000001 Then '精度为1e-12,判断允许误差

Exit Do

Else

If k0 > 2000 Then '设定最大计算步骤2000步

Exit Do

End If

be0 = be '计算值存入be0

k0 = k0 + 1 '步骤控制加1

End If

Loop

End Sub

'************************************LU分解子程序***************************************

Public Sub LUbroke()

'给l0的第一列和u0的第一行赋值

For j = 1 To 3

u0(1, j) = c(4 - j, 1) 'a(1,j)=c(4-j,1)

Next j

For i = 1 To 3

l0(i, 1) = c(i + 2, i) / u0(1, 1) 'a(i,1)=c(i+2,i)

Next i

For i = 1 To 501 '给l0矩阵的对角线赋值为1

l0(i, i) = 1

Next i

For k = 2 To 501

'*******************求u0的循环********************

If (k + 2 < 501) Then ' 求j的开始最大值,两个数比较大小

s1 = k + 2

Else

s1 = 501

End If

For j = k To s1 '求u0的循环语句

s = 0

s0 = 0

If (k - 2) > 1 Then ' 求t的开始最大值,三个数比较大小

s0 = k - 2

Else

s0 = 1

End If

If s0 < (j - 2) Then

s0 = j - 2

End If

For t = s0 To k - 1 '求出u0矩阵

s = s + l0(k, t) * u0(t, j)

Next t

u0(k, j) = c(k - j + 3, k) - s 'a(k,j)=c(k-j+3,k)

Next j

' ************求l0的循环************

If (k + 2 < 501) Then ' 求i的开始最大值,两个数比较大小

s1 = k + 2

Else

s1 = 501

End If

For i = k + 1 To s1 ' 求l0的循环语句

s = 0

s0 = 0

If (i - 2) > 1 Then ' 求t的开始最大值,三个数比较大小

s0 = i - 2

Else

s0 = 1

End If

If s0 < (k - 2) Then

s0 = k - 2

End If

For t = s0 To k - 1 '求出l0矩阵

s = s + l0(i, t) * u0(t, k)

Next t

l0(i, k) = (c(i - k + 3, i) - s) / u0(k, k)

Next i

Next k

'********************回代过程**************************

y0(1) = y(1) 'y0是回代过程中的过渡矩阵,u(i)是最终待求解的矩阵,y(i)是等式右边的值

y0(2) = y(2) - l0(2, 1) * y0(1) 'l0(n,n)是LU分解中的下三角阵,u0(n,n)是LU分解中的上三角阵

For i = 3 To 501

s = 0

For t = i - 2 To i - 1

s = s + l0(i, t) * y0(t)

Next t

y0(i) = y(i) - s

Next i

u(501) = y0(501) / u0(501, 501) '解出u(i)的新的数值

u(500) = (y0(500) - u0(501, 501) * u(501)) / u0(500, 500)

For i = 499 To 1 Step -1

s = 0

For t = i + 1 To i + 2

s = s + u0(i, t) * u(t)

Next t

u(i) = (y0(i) - s) / u0(i, i)

Next i

End Sub

'*****************************************反幂法子程序*************************************

Public Sub fanmifa()

For i = 1 To 501 '取初始u 矩阵(1,1,1,1, (1)

u(i) = 1

Next i

be0 = 0

k0 = 0 '迭代步数的控制参数

Do '用Do loop 循环

la = 0

For i = 1 To 501 '求中间数la,u的二范数

la = la + u(i) * u(i)

Next i

la = Sqr(la)

For i = 1 To 501

y(i) = u(i) / la

Next i

Call LUbroke '调用LU分解

be = 0

For i = 1 To 501

be = be + y(i) * u(i)

Next i

If Abs(be - be0) / Abs(be) <= 0.000000000001 Then '精度为1e-12

Exit Do

Else

If k0 > 500 Then '设定最大计算步骤1000步

Exit Do

End If

be0 = be

k0 = k0 + 1

End If

Loop

End Sub

2.模块里的参数定义

Public c, u, y '主程序用到的数组变量

Public be1, be2 '主程序用到的参数

Public la, be, be0, k0 '幂法子程序用到的参数

Public l0, u0, y0 '反幂法子程序用到的数组

Public det '行列式的值

三.输出结果:

最小特征值λ1:-10.7001136150178 迭代步数:614

最大特征值λ501: 9.7246340987773 迭代步数:342

按模最小特征值λs:-5.55791079422948E-03 迭代步数:69

第1 个:与-10.189494922173 最接近的特征值为-10.182934033146 第2 个:与-9.678876229328 最接近的特征值为-9.585707425068 第3 个:与-9.168257536483 最接近的特征值为-9.172672423928 第4 个:与-8.657638843638 最接近的特征值为-8.652284007898 第5 个:与-8.147020150793 最接近的特征值为-8.0934******** 第6 个:与-7.636401457949 最接近的特征值为-7.659405407692 第7 个:与-7.125782765104 最接近的特征值为-7.119684648691 第8 个:与-6.615164072259 最接近的特征值为-6.611764339397 第9 个:与-6.104545379414 最接近的特征值为-6.0661******** 第10 个:与-5.593926686569 最接近的特征值为-5.585101052628 第11 个:与-5.0833******** 最接近的特征值为-5.114083529812 第12 个:与-4.572689300879 最接近的特征值为-4.578872176865 第13 个:与-4.062070608034 最接近的特征值为-4.096470926260 第14 个:与-3.551451915189 最接近的特征值为-3.554211215751 第15 个:与-3.040833222345 最接近的特征值为-3.0410******** 第16 个:与-2.530214529500 最接近的特征值为-2.533974170585 第17 个:与-2.019595836655 最接近的特征值为-2.003230769563 第18 个:与-1.508977143810 最接近的特征值为-1.503557611227 第19 个:与-0.998358450965 最接近的特征值为-0.993558606008

第20 个:与-0.487739758120 最接近的特征值为-0.487042673885 第21 个:与0.022********* 最接近的特征值为0.022********* 第22 个:与0.533497627570 最接近的特征值为0.532417474207 第23 个:与1.044116320414 最接近的特征值为1.052898962693 第24 个:与1.554735013259 最接近的特征值为1.589445881881 第25 个:与2.065353706104 最接近的特征值为2.060330460274 第26 个:与2.575972398949 最接近的特征值为2.558075597073 第27 个:与3.086591091794 最接近的特征值为3.080240509307 第28 个:与3.597209784639 最接近的特征值为3.613620867692 第29 个:与4.107828477484 最接近的特征值为4.0913******** 第30 个:与4.618447170329 最接近的特征值为4.625213556474 第31 个:与5.129065863173 最接近的特征值为5.132924283898 第32 个:与5.639684556018 最接近的特征值为5.594906348083 第33 个:与6.150303248863 最接近的特征值为6.080933857027 第34 个:与6.660921941708 最接近的特征值为6.680354092112 第35 个:与7.171540634553 最接近的特征值为7.293877448127 第36 个:与7.682159327398 最接近的特征值为7.717111714236 第37 个:与8.192778020243 最接近的特征值为8.225220014050 第38 个:与8.703396713088 最接近的特征值为8.648667496040 第39 个:与9.214015405932 最接近的特征值为9.254200385674 A的条件数cond(A):1925.2042739022

A的行列式的值:2.77278614175215E+118

四.讨论迭代初始向量的选取对于计算结果的影响:

1.影响迭代速度。因为如果初始向量选取不当,有可能使得迭代开始的时刻有可能不同,因此收敛的速度不一样,达到规定精度所需的迭代次数也就不一样。

2.影响计算结果的精度。因为选取不同的迭代初始向量,在规定的迭代次数下,计算机计算出的结果的精度是不一样的,有时可能因为误差太大得到错误的结果。例如当该程序初始向量选择{1,0,0,……0}时得到的结果和{1,1……1};得到的结果是不一样的,同一迭代次数下,后者的精度更高。因此一般情况下,我们在给定初始向量时都选择后者。

数值计算方法试题及答案

数值计算方法试题一 一、填空题(每空1分,共17分) 1、如果用二分法求方程在区间内的根精确到三位小数,需对分()次。 2、迭代格式局部收敛的充分条件是取值在()。 3、已知是三次样条函数,则 =( ),=(),=()。 4、是以整数点为节点的Lagrange插值基函数,则 ( ),( ),当时( )。 5、设和节点则 和。 6、5个节点的牛顿-柯特斯求积公式的代数精度为,5个节点的求积公式最高代数精度为。 7、是区间上权函数的最高项系数为1的正交多项式族,其中,则。 8、给定方程组,为实数,当满足,且时,SOR迭代法收敛。 9、解初值问题的改进欧拉法是 阶方法。 10、设,当()时,必有分解式,其中为下三角阵,当其对角线元素满足()条件时,这种分解是唯一的。 二、二、选择题(每题2分) 1、解方程组的简单迭代格式收敛的充要条件是()。(1), (2) , (3) , (4) 2、在牛顿-柯特斯求积公式:中,当系数是负值时,公式的稳定性不能保证,所以实际应用中,当()时的牛顿-柯特斯求积公式不使用。 (1),(2),(3),(4), (1)二次;(2)三次;(3)四次;(4)五次 4、若用二阶中点公式求解初值问题,试问为保证该公式绝对稳定,步长的取值范围为()。 (1), (2), (3), (4)

三、1、 2、(15 (1)(1) 试用余项估计其误差。 (2)用的复化梯形公式(或复化 Simpson公式)计算出该积分的近似值。 四、1、(15分)方程在附近有根,把方程写成三种不同的等价形式(1)对应迭代格式;(2)对应迭代格式;(3)对应迭代格式。判断迭代格式在的收敛性,选一种收敛格式计算附近的根,精确到小数点后第三位。选一种迭代格式建立Steffensen迭代法,并进行计算与前一种结果比较,说明是否有加速效果。 2、(8分)已知方程组,其中 , (1)(1)列出Jacobi迭代法和Gauss-Seidel迭代法的分量形式。 (2)(2)求出Jacobi迭代矩阵的谱半径,写出SOR 迭代法。 五、1、(15分)取步长,求解初值问题用改进的欧拉法求的值;用经典的四阶龙格—库塔法求的值。 2、(8分)求一次数不高于4次的多项式使它满足 ,,,, 六、(下列2题任选一题,4分) 1、1、数值积分公式形如 (1)(1)试确定参数使公式代数精度尽量高;(2)设,推导余项公式,并估计误差。 2、2、用二步法 求解常微分方程的初值问题时,如何选择参数使方法阶数尽可能高,并求局部截断误差主项,此时该方法是几阶的。 数值计算方法试题二 一、判断题:(共16分,每小题2分) 1、若是阶非奇异阵,则必存在单位下三角阵和上三角阵,使唯一成立。()

数值计算方法比较

有限差分方法(FDM:Finite Difference Method)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。有限差分法主要集中在依赖于时间的问题(双曲型和抛物型方程)。有限差分法方面的经典文献有Richtmeyer & Morton的《Difference Methods for Initial-Value Problems》;R. LeVeque《Finite Difference Method for Differential Equations》;《Numerical Methods for C onservation Laws》。 注:差分格式: (1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。 (2)从差分的空间形式来考虑,可分为中心格式和逆风格式。 (3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。 目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。 构造差分的方法: 构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。 有限差分法的不足:由于采用的是直交网格,因此较难适应区域形状的任意性,而且区分不出场函数在区域中的轻重缓急之差异,缺乏统一有效的处理自然边值条件和内边值条件的方法,难以构造高精度(指收敛阶)差分格式,除非允许差分方程联系更多的节点(这又进一步增加处理边值条件韵困难)。另外它还有编制不出通用程序的困难。 有限差分法的优点:该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念 直观,表达简单,精度可选而且在一个时间步内,对于一个给定点来说其相关的空间点只是 与该相邻的几点,而不是全部的空间点。是发展较早且比较成熟的数值方法 广义差分法(有限体积法)(GDM:Generalized Difference Method):1953年,Mac—Neal 利用积分插值法(也称积分均衡法)建立了三角网格上的差分格 式,这就是以后通称的不规划网格上的差分法.这种方法的几何误差小,特别是给出了处理自然边值条件(及内边值条件)的有效方法,堪称差分法的一大进步。1978年,李荣华利用有限元空间和对偶单元上特征函数的推广——局部Taylor展式的公项,将积分插值法改写成广义Galerkin法形式,从而将不规则网格差分法推广为广义差分法.其基本思路是,将计算区域划分为一系列不重复的控制体积,并使每个网格点周围有

数值分析试题及答案汇总

数值分析试题 一、 填空题(2 0×2′) 1. ?? ????-=? ?????-=32,1223X A 设x =是精确值x *=的近似值,则x 有 2 位 有效数字。 2. 若f (x )=x 7-x 3+1,则f [20,21,22,23,24,25,26,27]= 1 , f [20,21,22,23,24,25,26,27,28]= 0 。 3. 设,‖A ‖∞=___5 ____,‖X ‖∞=__ 3_____, ‖AX ‖∞≤_15_ __。 4. 非线性方程f (x )=0的迭代函数x =?(x )在有解区间满足 |?’(x )| <1 ,则使用该迭代 函数的迭代解法一定是局部收敛的。 5. 区间[a ,b ]上的三次样条插值函数S (x )在[a ,b ]上具有直到 2 阶的连续导数。 6. 当插值节点为等距分布时,若所求节点靠近首节点,应该选用等距节点下牛顿差商 公式的 前插公式 ,若所求节点靠近尾节点,应该选用等距节点下牛顿差商公式的 后插公式 ;如果要估计结果的舍入误差,应该选用插值公式中的 拉格朗日插值公式 。 7. 拉格朗日插值公式中f (x i )的系数a i (x )的特点是:=∑=n i i x a 0)( 1 ;所以当 系数a i (x )满足 a i (x )>1 ,计算时不会放大f (x i )的误差。 8. 要使 20的近似值的相对误差小于%,至少要取 4 位有效数字。 9. 对任意初始向量X (0)及任意向量g ,线性方程组的迭代公式x (k +1)=Bx (k )+g (k =0,1,…)收 敛于方程组的精确解x *的充分必要条件是 ?(B)<1 。 10. 由下列数据所确定的插值多项式的次数最高是 5 。 11. 牛顿下山法的下山条件为 |f(xn+1)|<|f(xn)| 。 12. 线性方程组的松弛迭代法是通过逐渐减少残差r i (i =0,1,…,n )来实现的,其中的残差 r i = (b i -a i1x 1-a i2x 2-…-a in x n )/a ii ,(i =0,1,…,n )。 13. 在非线性方程f (x )=0使用各种切线法迭代求解时,若在迭代区间存在唯一解,且f (x )

数值分析第五版计算实习题

数值分析计算实习题 第二章 2-1 程序: clear;clc; x1=[0.2 0.4 0.6 0.8 1.0]; y1=[0.98 0.92 0.81 0.64 0.38]; n=length(y1); c=y1(:); for j=2:n %求差商 for i=n:-1:j c(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1)); end end syms x df d; df(1)=1;d(1)=y1(1); for i=2:n %求牛顿差值多项式 df(i)=df(i-1)*(x-x1(i-1)); d(i)=c(i)*df(i); end disp('4次牛顿插值多项式'); P4=vpa(collect((sum(d))),5) %P4即为4次牛顿插值多项式,并保留小数点后5位数pp=csape(x1,y1, 'variational');%调用三次样条函数 q=pp.coefs; disp('三次样条函数'); for i=1:4 S=q(i,:)*[(x-x1(i))^3;(x-x1(i))^2;(x-x1(i));1]; S=vpa(collect(S),5) end x2=0.2:0.08:1.08; dot=[1 2 11 12]; figure ezplot(P4,[0.2,1.08]); hold on y2=fnval(pp,x2); x=x2(dot); y3=eval(P4); y4=fnval(pp,x2(dot)); plot(x2,y2,'r',x2(dot),y3,'b*',x2(dot),y4,'co'); title('4次牛顿插值及三次样条'); 结果如下: 4次牛顿插值多项式 P4 = - 0.52083*x^4 + 0.83333*x^3 - 1.1042*x^2 + 0.19167*x + 0.98 三次样条函数

数值分析(计算方法)总结

第一章绪论 误差来源:模型误差、观测误差、截断误差(方法误差)、舍入误差 是的绝对误差,是的误差,为的绝对误差限(或误差限) 为的相对误差,当较小时,令 相对误差绝对值得上限称为相对误差限记为:即: 绝对误差有量纲,而相对误差无量纲 若近似值的绝对误差限为某一位上的半个单位,且该位直到的第一位非零数字共 有n位,则称近似值有n位有效数字,或说精确到该位。 例:设x==3.1415926…那么,则有效数字为1位,即个位上的3,或说精确到个位。 科学计数法:记有n位有效数字,精确到。 由有效数字求相对误差限:设近似值有n位有效数字,则其相对误差限为 由相对误差限求有效数字:设近似值的相对误差限为为则它有n位有效数字 令 1.x+y近似值为和的误差(限)等于误差(限) 的和 2.x-y近似值为 3.xy近似值为 4. 1.避免两相近数相减 2.避免用绝对值很小的数作除数 3.避免大数吃小数

4.尽量减少计算工作量 第二章非线性方程求根 1.逐步搜索法 设f (a) <0, f (b)> 0,有根区间为 (a, b),从x0=a出发,按某个预定步长(例如h=(b-a)/N)一步一步向右跨,每跨一步进行一次根的搜索,即判别f(x k)=f(a+kh)的符号,若f(x k)>0(而f(x k-1)<0),则有根区间缩小为[x k-1,x k] (若f(x k)=0,x k即为所求根), 然后从 x k-1出发,把搜索步长再缩小,重复上面步骤,直到满足精度:|x k-x k-1|< 为止,此时取 x*≈(x k+x k-1)/2作为近似根。 2.二分法 设f(x)的有根区间为[a,b]= [a0,b0], f(a)<0, f(b)>0.将[a0,b0]对分,中点x0= ((a0+b0)/2),计算f(x0)。 3.比例法 一般地,设 [a k,b k]为有根区间,过(a k, f(a k))、 (b k, f(b k))作直线,与x轴交于一 点x k,则: 1.试位法每次迭代比二分法多算一次乘法,而且不保证收敛。 2.比例法不是通过使求根区间缩小到0来求根,而是在一定条件下直接构造出一个点列(递推公式),使该点列收敛到方程的根。——这正是迭代法的基本思想。 事先估计: 事后估计 局部收敛性判定定理: 局部收敛性定理对迭代函数的要求较弱,但对初始点要求较高,即初始点必须选在精确解的附近 Steffensen迭代格式: Newton法: Newton下山法:是下山因子 弦割法:

数值分析学期期末考试试题与答案(A)

期末考试试卷(A 卷) 2007学年第二学期 考试科目: 数值分析 考试时间:120 分钟 学号 姓名 年级专业 一、判断题(每小题2分,共10分) 1. 用计算机求 1000 1000 1 1 n n =∑时,应按照n 从小到大的顺序相加。 ( ) 2. 为了减少误差,进行计算。 ( ) 3. 用数值微分公式中求导数值时,步长越小计算就越精确。 ( ) 4. 采用龙格-库塔法求解常微分方程的初值问题时,公式阶数越高,数值解越精确。( ) 5. 用迭代法解线性方程组时,迭代能否收敛与初始向量的选择、系数矩阵及其演变方式有 关,与常数项无关。 ( ) 二、填空题(每空2分,共36分) 1. 已知数a 的有效数为0.01,则它的绝对误差限为________,相对误差限为_________. 2. 设1010021,5,1301A x -????????=-=-????????-???? 则1A =_____,2x =______,Ax ∞ =_____. 3. 已知5 3 ()245,f x x x x =+-则[1,1,0]f -= ,[3,2,1,1,2,3]f ---= . 4. 为使求积公式 1 1231 ()()(0)33 f x dx A f A f A f -≈- ++? 的代数精度尽量高,应使1A = ,2A = ,3A = ,此时公式具有 次的代数精度。 5. n 阶方阵A 的谱半径()A ρ与它的任意一种范数A 的关系是 . 6. 用迭代法解线性方程组AX B =时,使迭代公式(1) ()(0,1,2,)k k X MX N k +=+=产 生的向量序列{ }() k X 收敛的充分必要条件是 . 7. 使用消元法解线性方程组AX B =时,系数矩阵A 可以分解为下三角矩阵L 和上三角矩

数值计算方法大作业

目录 第一章非线性方程求根 (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)

数值分析试题

《计算机数学基础(下)》数值分析试题 2000、8 之六(2002、7已用) 一、单项选择题(每小题3分,共15分) 1.数值x *的近似值x =0.1215×10- 2,若满足≤-*x x ( ),则称x 有4位有效数字. (A) 21×10-3 (B) 21×10-4 (C) 21×10-5 (D) 2 1×10-6 2. 设矩阵A =?? ?? ? ?????------52111021210,那么以A 为系数矩阵的线性方程组A X =b 的雅可比迭代矩阵为( ) (A)??????????04.02.01.002.01.02.00 (B) ???? ? ?? ???14.02 .01.012.01.02.01 (C) ??????????------04.02.01.002.01.02.00 (D) ???? ??????021 102120 3. 已知y =f (x )的均差f (x 0,x 1,x 2)=314,f (x 1,x 2,x 3)=315,f (x 2,x 3,x 4)=15 91,f (x 0,x 2,x 3)=318 , 那么均差f (x 4,x 2,x 3)=( ) (A) 315 (B) 318 (C) 1591 (D) 3 14 4. 已知n =4时牛顿-科茨求积公式的科茨系数,15 2,4516,907)4(2)4(1) 4(0===C C C 那么 )4(3C =( ) 90 39 152********)D (152)C (4516)B (907)A (=--- 5.用简单迭代法求方程的近似根,下列迭代格式不收敛的是( ) (A) e x -x -1=0,[1,1.5],令x k +1=1e -k x (B) x 3-x 2-1=0,[1.4,1.5], 令211 1k k x x +=+ (C) x 3-x 2-1=0,[1.4,1.5], 令32 11k k x x +=+ (D) 4-2x =x ,[1,2], 令)4(log 21x x k -=+ 二、填空题(每小题3分,共15分) 6.sin1有2位有效数字的近似值0.84的相对误差限是 . 7.设矩阵A 是对称正定矩阵,则用 迭代法解线性方程组A X =b ,其迭代解数列一定收敛. 8. 已知f (1)=1,f (2)=3,那么y =f (x )以x =1,2为节点的拉格朗日线性插值多项式为 . 9. 用二次多项式2210)(x a x a a x ++=?,其中a 0, a 1, a 2是待定参数,拟合点(x 1,y 1),(x 2,y 2),…,(x n ,y n ). 那么参数a 0, a 1, a 2是使误差平方和 取最小值的解. 10. 设求积公式 ∑?=≈n k k k b a x f A x x f 0 )(d )(,若对 的多项式积分公式

数值分析计算实习题

插值法 1.下列数据点的插值 x 0 1 4 9 16 25 36 49 64 y 0 1 2 3 4 5 6 7 8 可以得到平方根函数的近似,在区间[0,64]上作图. (1)用这9个点作8次多项式插值Ls(x). (2)用三次样条(第一边界条件)程序求S(x). 从得到结果看在[0,64]上,哪个插值更精确;在区间[0,1]上,两种插值哪个更精确? 解:(1)拉格朗日插值多项式,求解程序如下 syms x l; x1=[0 1 4 9 16 25 36 49 64]; y1=[0 1 2 3 4 5 6 7 8]; n=length(x1); Ls=sym(0); for i=1:n l=sym(y1(i)); for k=1:i-1 l=l*(x-x1(k))/(x1(i)-x1(k)); end for k=i+1:n l=l*(x-x1(k))/(x1(i)-x1(k)); end Ls=Ls+l; end Ls=simplify(Ls) %为所求插值多项式Ls(x). 输出结果为 Ls = -24221063/63504000*x^2+95549/72072*x-1/3048192000*x^8-2168879/435456000 *x^4+19/283046400*x^7+657859/10886400*x^3+33983/152409600*x^5-13003/2395008 000*x^6 (2)三次样条插值,程序如下

x1=[0 1 4 9 16 25 36 49 64]; y1=[0 1 2 3 4 5 6 7 8]; x2=[0:1:64]; y3=spline(x1,y1,x2); p=polyfit(x2,y3,3); %得到三次样条拟合函数 S=p(1)+p(2)*x+p(3)*x^2+p(4)*x^3 %得到S(x) 输出结果为: S = 23491/304472833/8*x+76713/*x^2+6867/42624*x^3 (3)在区间[0,64]上,分别对这两种插值和标准函数作图, plot(x2,sqrt(x2),'b',x2,y2,'r',x2,y3,'y') 蓝色曲线为y=函数曲线,红色曲线为拉格朗日插值函数曲线,黄色曲线为三次样条插值曲线 010203040506070 -200 20 40 60 80100 可以看到蓝色曲线与黄色曲线几乎重合,因此在区间[0,64]上三次样条插值更精确。 在[0,1]区间上由上图看不出差别,不妨代入几组数据进行比较 ,取x4=[0:0.2:1]

数值分析计算方法试题集及答案

数值分析复习试题 第一章 绪论 一. 填空题 1.* x 为精确值 x 的近似值;() **x f y =为一元函数 ()x f y =1的近似值; ()**,*y x f y =为二元函数()y x f y ,2=的近似值,请写出下面的公式:**e x x =-: *** r x x e x -= ()()()*'1**y f x x εε≈? ()() () ()'***1**r r x f x y x f x εε≈ ? ()()()() ()* *,**,*2**f x y f x y y x y x y εεε??≈?+??? ()()()()() ** * *,***,**222r f x y e x f x y e y y x y y y ε??≈ ?+??? 2、 计算方法实际计算时,对数据只能取有限位表示,这时所产生的误差叫 舍入误 差 。 3、 分别用2.718281,2.718282作数e 的近似值,则其有效数字分别有 6 位和 7 位;又取 1.73≈-21 1.73 10 2 ≤?。 4、 设121.216, 3.654x x ==均具有3位有效数字,则12x x 的相对误差限为 0.0055 。 5、 设121.216, 3.654x x ==均具有3位有效数字,则12x x +的误差限为 0.01 。 6、 已知近似值 2.4560A x =是由真值T x 经四舍五入得 到,则相对误差限为 0.0000204 . 7、 递推公式,??? ? ?0n n-1y =y =10y -1,n =1,2, 如果取0 1.41y ≈作计算,则计算到10y 时,误 差为 81 10 2 ?;这个计算公式数值稳定不稳定 不稳定 . 8、 精确值 14159265.3* =π,则近似值141.3*1=π和1415.3*2=π分别有 3

数值计算方法》试题集及答案

《计算方法》期中复习试题 一、填空题: 1、已知3.1)3(,2.1)2(,0.1)1(===f f f ,则用辛普生(辛卜生)公式计算求得 ?≈3 1 _________ )(dx x f ,用三点式求得≈')1(f 。 答案:2.367,0.25 2、1)3(,2)2(,1)1(==-=f f f ,则过这三点的二次插值多项式中2 x 的系数为 ,拉 格朗日插值多项式为 。 答案:-1, )2)(1(21 )3)(1(2)3)(2(21)(2--------= x x x x x x x L 3、近似值*0.231x =关于真值229.0=x 有( 2 )位有效数字; 4、设)(x f 可微,求方程)(x f x =的牛顿迭代格式是( ); 答案 )(1)(1n n n n n x f x f x x x '--- =+ 5、对1)(3 ++=x x x f ,差商=]3,2,1,0[f ( 1 ),=]4,3,2,1,0[f ( 0 ); 6、计算方法主要研究( 截断 )误差和( 舍入 )误差; 7、用二分法求非线性方程 f (x )=0在区间(a ,b )内的根时,二分n 次后的误差限为 ( 1 2+-n a b ); 8、已知f (1)=2,f (2)=3,f (4)=5.9,则二次Newton 插值多项式中x 2系数为( 0.15 ); 11、 两点式高斯型求积公式?1 d )(x x f ≈( ?++-≈1 )] 321 3()3213([21d )(f f x x f ),代数精度 为( 5 ); 12、 为了使计算 32)1(6 )1(41310-- -+-+ =x x x y 的乘除法次数尽量地少,应将该表达 式改写为 11 ,))64(3(10-= -++=x t t t t y ,为了减少舍入误差,应将表达式1999 2001-

2014-2015数值分析考试试题卷

太原科技大学硕士研究生 2014/2015学年第1学期《数值分析》课程试卷 一、填空题(每空4分,共32分) 1、设?????≤≤-++<≤+=2 1,1321 0,)(2 323x x bx x x x x x s 是以0,1,2为节点三次样条函数,则b=__-2___ 2、解线性方程组12312312388 92688 x x x x x x x x x -++=-?? -+=??-+-=? 的Jacobi 迭代格式(分量形式)为 ?? ???+--=++-=++=+++)(2)(1)1(3) (3)(1)1(2) (3)(2)1(1882/)96(88k k k k k k k k k x x x x x x x x x ,其相应的迭代矩阵为??????????-0812/102/9810。 3、方程03 =-a x 的牛顿法的迭代格式为__3 12 3k k k k x a x x x +-=-__________,其收敛的阶为 2 。 4、已知数x 的近似值0.937具有三位有效数字,则x 的相对误差限是310534.0-? 解:x 1≈0.937, 31102 1 )(-?≤ x ε 3 31111 10(x )2 (x )0.53410x 0.937 r εε--?=≤=? 5、用列主元高斯消去法解线性方程组 ??? ??=--=++=++2333220221 321321x x x x x x x x 作第1次消元后的第2,3个方程分别为? ? ?=+--=-5.35.125 .15.03232x x x x 6、设???? ??-=3211A ,则=∞)(A Cond __4____.

《数值计算方法》试题及答案

数值计算方法考试试题 一、选择题(每小题4分,共20分) 1. 误差根据来源可以分为四类,分别是( A ) A. 模型误差、观测误差、方法误差、舍入误差; B. 模型误差、测量误差、方法误差、截断误差; C. 模型误差、实验误差、方法误差、截断误差; D. 模型误差、建模误差、截断误差、舍入误差。 2. 若132)(3 56++-=x x x x f ,则其六阶差商 =]3,,3,3,3[6210 f ( C ) A. 0; B. 1; C. 2; D. 3 。 3. 数值求积公式中的Simpson 公式的代数精度为 ( D ) A. 0; B. 1; C. 2; D. 3 。 4. 若线性方程组Ax = b 的系数矩阵A 为严格对角占优矩阵,则解方程组的Jacobi 迭代法和Gauss-Seidel 迭代法 ( B ) A. 都发散; B. 都收敛 C. Jacobi 迭代法收敛,Gauss-Seidel 迭代法发散; D. Jacobi 迭代法发散,Gauss-Seidel 迭代法收敛。 5. 对于试验方程y y λ=',Euler 方法的绝对稳定区间为( C ) A. 02≤≤-h ; B. 0785.2≤≤-h ; C. 02≤≤-h λ; D. 0785.2≤≤-h λ ; 二、填空题(每空3分,共18分) 1. 已知 ? ??? ??--='-=4321,)2,1(A x ,则 =2 x 5,= 1Ax 16 ,=2A 22115+ 2. 已知 3)9(,2)4(==f f ,则 f (x )的线性插值多项式为)6(2.0)(1+=x x L ,且用线性插值可得f (7)= 2.6 。 3. 要使 20的近似值的相对误差界小于0.1%,应至少取 4 位有效数字。 三、利用下面数据表, 1. 用复化梯形公式计算积分 dx x f I )(6 .28 .1? =的近似值; 解:1.用复化梯形公式计算 取 2.048 .16.2,4=-= =h n 1分 分 分分7058337 .55))6.2()2.08.1(2)8.1((22.04)) ()(2)((231 1 1 4=+++=++=∑∑=-=f k f f b f x f a f h T k n k k 10.46675 8.03014 6.04241 4.42569 3.12014 f (x ) 2.6 2.4 2.2 2.0 1.8 x

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

第四章: 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是积分下、上限

数值分析试题及答案

一、单项选择题(每小题3分,共15分) 1. 3.142和3.141分别作为π的近似数具有( )和( )位有效数字. A .4和3 B .3和2 C .3和4 D .4和4 2. 已知求积公式 ()()2 1 121 1()(2)636f x dx f Af f ≈ ++? ,则A =( ) A . 16 B .13 C .12 D .2 3 3. 通过点 ()()0011,,,x y x y 的拉格朗日插值基函数()()01,l x l x 满足( ) A . ()00l x =0, ()110l x = B . ()00l x =0, ()111l x = C .() 00l x =1,()111 l x = D . () 00l x =1,()111 l x = 4. 设求方程 ()0 f x =的根的牛顿法收敛,则它具有( )敛速。 A .超线性 B .平方 C .线性 D .三次 5. 用列主元消元法解线性方程组 1231231 220223332 x x x x x x x x ++=?? ++=??--=? 作第一次消元后得到的第3个方程( ). A . 232 x x -+= B .232 1.5 3.5 x x -+= C . 2323 x x -+= D . 230.5 1.5 x x -=- 单项选择题答案 1.A 2.D 3.D 4.C 5.B 得 分 评卷人 二、填空题(每小题3分,共15分)

1. 设T X )4,3,2(-=, 则=1||||X ,2||||X = . 2. 一阶均差 ()01,f x x = 3. 已知3n =时,科茨系数()()() 33301213,88C C C ===,那么 () 33C = 4. 因为方程()420 x f x x =-+=在区间 []1,2上满足 ,所以()0f x =在区间 内有根。 5. 取步长0.1h =,用欧拉法解初值问题 ()211y y y x y ?'=+?? ?=? 的计算公式 . 填空题答案 1. 9和29 2. ()() 0101 f x f x x x -- 3. 1 8 4. ()()120 f f < 5. ()12 00.1 1.1,0,1,210.11k k y y k k y +???? ?=+? ?=+???? =??L 得 分 评卷人 三、计算题(每题15分,共60分) 1. 已知函数 21 1y x = +的一组数据: 求分 段线性插值函数,并计算 () 1.5f 的近似值. 计算题1.答案 1. 解 []0,1x ∈, ()1010.510.50110x x L x x --=?+?=---% []1,2x ∈,()210.50.20.30.81221x x L x x --=?+?=-+--%

数值计算方法试题及答案

数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式 ) 2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在 ( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(2110)(2 33x c x b x a x x x x S 是三次样条函数, 则 a =( ), b =( ), c =( )。 4、)(,),(),(10x l x l x l n Λ是以整数点n x x x ,,,10Λ为节点的Lagrange 插值基函数,则 ∑== n k k x l 0)(( ), ∑== n k k j k x l x 0 )(( ),当2≥n 时 = ++∑=)()3(20 4 x l x x k k n k k ( )。 5、设 1326)(247+++=x x x x f 和节点,,2,1,0,2/Λ==k k x k 则=],,,[10n x x x f Λ 和=?07f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞=0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。

8、给定方程组?? ?=+-=-221121b x ax b ax x ,a 为实数,当a 满足 ,且 20<<ω时,SOR 迭代法收敛。 9、解初值问题00 (,)()y f x y y x y '=?? =?的改进欧拉法 ??? ??++=+=++++)],(),([2),(] 0[111] 0[1n n n n n n n n n n y x f y x f h y y y x hf y y 是 阶方法。 10、设 ?? ??? ?????=11001a a a a A ,当∈a ( )时,必有分解式T LL A =,其中L 为下三角阵,当其对角线元素)3,2,1(=i l ii 满足( )条件时,这种分解是唯一的。 二、 二、选择题(每题2分) 1、解方程组b Ax =的简单迭代格式g Bx x k k +=+)() 1(收敛的充要条件是 ( )。 (1)1)(A ρ, (4) 1)(>B ρ 2、在牛顿-柯特斯求积公式: ?∑=-≈b a n i i n i x f C a b dx x f 0 )() ()()(中,当系数 ) (n i C 是负值时,公式的稳定性不能保证,所以实际应用中,当( )时的牛顿-柯特斯求积公式不使用。 (1)8≥n , (2)7≥n , (3)10≥n , (4)6≥n , 3、有下列数表

数值分析历年考题

数值分析A 试题 2007.1 第一部分:填空题10?5 1.设3112A ?? = ??? ,则A ∞=___________ 2()cond A =___________ 2.将4111A ??= ??? 分解成T A LL =,则对角元为正的下三角阵L =___________ ,请用线性最小二乘拟合方法确定拟合函数()bx f x ae =中的参数:a = ___________ b =___________ 4.方程13 cos 2044x x π--=在[0,1]上有 个根,若初值取00.95x =,迭代方法 113 cos 244 k k x x π+=-的收敛阶是 5.解方程2 210x x -+=的Newton 迭代方法为___________,其收敛阶为___________ 6.设()s x = 323 2 323,[0,1]31,[1,2] ax x x x x x bx x +-+∈--+∈为三次样条函数,则a = ___________ b =___________ 7.要想求积公式: 1 121 ()(()f x dx A f f x -≈+? 的代数精度尽可能高,参数1A = ___________ 2x =___________此时其代数精度为:___________ 8.用线性多步法2121(0.50.5)n n n n n y y h f f f ++++-=-+来求解初值问题 00'(,),(),y f x y y x y ==其中(,)n n n f f x y =,该方法的局部截断误差为___________,设 ,0,f y μμ=?其绝对稳定性空间是___________ 9.用线性多步法 2121()n n n n n y ay by h f f ++++-+=-来求解初值问题 00'(,),(),y f x y y x y ==其中(,)n n n f f x y =,希望该方法的阶尽可能高,那么a = ___________ b =___________,此时该方法是几阶的:___________

数值分析计算实习题

《数值分析》计算实习题 姓名: 学号: 班级:

第二章 1、程序代码 Clear;clc; x1=[0.2 0.4 0.6 0.8 1.0]; y1=[0.98 0.92 0.81 0.64 0.38]; n=length(y1); c=y1(:); for j=2:n %求差商 for i=n:-1:j c(i)=(c(i)-c(i-1))/(x1(i)-x1(i-j+1)); end end syms x df d; df(1)=1;d(1)=y1(1); for i=2:n %求牛顿差值多项式 df(i)=df(i-1)*(x-x1(i-1)); d(i)=c(i-1)*df(i); end P4=vpa(sum(d),5) %P4即为4次牛顿插值多项式,并保留小数点后5位数 pp=csape(x1,y1, 'variational');%调用三次样条函数 q=pp.coefs; q1=q(1,:)*[(x-.2)^3;(x-.2)^2;(x-.2);1]; q1=vpa(collect(q1),5) q2=q(1,:)*[(x-.4)^3;(x-.4)^2;(x-.4);1]; q2=vpa(collect(q2),5) q3=q(1,:)*[(x-.6)^3;(x-.6)^2;(x-.6);1]; q3=vpa(collect(q3),5) q4=q(1,:)*[(x-.8)^3;(x-.8)^2;(x-.8);1]; q4=vpa(collect(q4),5)%求解并化简多项式 2、运行结果 P4 = 0.98*x - 0.3*(x - 0.2)*(x - 0.4) - 0.625*(x - 0.2)*(x - 0.4)*(x - 0.6) - 0.20833*(x - 0.2)*(x - 0.4)*(x - 0.8)*(x - 0.6) + 0.784 q1 = - 1.3393*x^3 + 0.80357*x^2 - 0.40714*x + 1.04

数值分析计算方法

《计算方法》实验内容 一.实验一:用两种不同的顺序计算 644834.110000 1 2 ≈∑=-n n ,分析其误差的变化。 1.实验目的:通过正序反序两种不同的顺序求和,比较不同算法的误差;了解在 计算机中大数吃小数的现象,以后尽量避免;体会单精度和双精度数据的差别。 2.算法描述:累加和s=0; 正序求和: 对于n=1,2,3,......,10000 s+=1.0/(n*n); 反序求和: 对于n=10000,9999,9998,.....,1 s+=1.0/(n*n); 3.源程序: #双精度型# #includec void main() { double s=0; int n; for(n=1;n<=10000;n++) s+=1.0/(n*n); printf("正序求和结果是:%lf\n",s); s=0; for(n=10000;n>=1;n--) s+=1.0/(n*n); printf("反序求和结果是:%lf\n",s); } #单精度型# #include void main() { float s=0; int n; for(n=1;n<=10000;n++) s+=1.0/(n*n); printf("正序求和结果是:%f\n",s); s=0; for(n=10000;n>=1;n--) s+=1.0/(n*n); printf("反序求和结果是:%f\n",s); }

4.运行结果: 双精度型运行结果: 单精度型运行结果: 5.对算法的理解与分析:舍入误差在计算机中会引起熟知的不稳定,算法不同,肯结果也会不同,因此选取稳定的算法很重要。选取双精度型数据正反序求和时结果一致,但选用单精度型数据时,求和结果不一致,明显正序求和结果有误差,所以第一个算法较为稳定可靠。 二.实验二: 1、拉格朗日插值 按下列数据 x i -3.0 -1.0 1.0 2.0 3.0 y i 1.0 1.5 2.0 2.0 1.0 作二次插值,并求x 1=-2,x 2 =0,x 3 =2.75时的函数近似值 2牛顿插值 按下列数据 x i 0.30 0.42 0.50 0.58 0.66 0.72 y i 1.04403 1.08462 1.11803 1.15603 1.19817 1.23223 作五次插值,并求x 1=0.46,x 2 =0.55,x 3 =0.60时的函数近似值. 1.实验目的:通过拉格朗日插值和牛顿插值的实例,了解两种求解方法,并分析各自的优缺点。 2.算法描述: 3.源程序: 拉格朗日插值: #include #define k 2 void main() {

相关文档
最新文档