文档库 最新最全的文档下载
当前位置:文档库 › 数值分析学习方法

数值分析学习方法

数值分析学习方法
数值分析学习方法

第一章

1霍纳(horner)方法:

输入=c

+

bn*c bn?1*c b3*c b2*c b1*c an an?1 an?2 ……a2 a1 a0 bn bn?1 bn?2 b2 b1 b0 answer p(x)=b0 该方法用于解决多项式求值问题=anxn+an?1xn?1+an?2xn?2+……+a2x2+a1x+a0 ?

2 注:p为近似值

p(x)

绝对误差:

?|ep?|p?p ?||p?p

rp?

|p| 相对误差:

?|101?d|p?p

rp??

|p|2 有效数字: (d为有效数字,为满足条件的最大整数) 3 big oh(精度的计算):

o(h?)+o(h?)=o(h?);

o(hm)+o(hn)=o(hr) [r=min{p,q}]; o(hp)o(hq)=o(hs) [s=q+p]; 第二章

2.1 求解x=g(x)的迭代法用迭代规则

,可得到序

列值{}。设函数g 满足

y 定义在得

。如果对于所有

x ,则函数g 在

,映射y=g(x)的范围

内有一个不动点;

此外,设

,存在正常数k<1,使

内,且对于所有x,则函数g 在

内有唯一的不动点p。

,(ii)k是一个正常数,

。如果对于所有

定理2.3 设有(i)g,g ’(iii )

如果对于所有x在

这种情况下,p成为排斥不动点,而且迭代显示出局部发散

性。波理

. 诺

(

定)

<收敛速度较慢>

试值(位)法:<条件与二分法一样但改为寻求过点(a,f(a))和(b,f(b))的割线l与

x轴的交点(c,0)>

应注意

越来越

小,但可能不趋近于0,所以二分法的终止判别条件不适合于试值法

. f(pk?1)

其中k=1,2,……证明:用

f(pk?1)

牛顿—拉夫森迭代函数:pk?g(pk?1)?pk?1?

泰勒多项式证明

第三章线性方程组的解法对于给定的解线性方程组ax=b a11x1 ? a12x2 ? ? ? a1nxn ?

b1 a21x1 ? a22x2 ? ? ? a2nxn ? b2 ? an1x1 ? an2x2 ? ? ? annxn ? bn 一gauss elimination (高斯消元法第一步forward elimination 第二步

substitution

二lu factorization

第一步 a = lu 原方程变为lux=y ;

第二步令ux=y,则ly = b由下三角解出y;第三步 ux=y,又上三角解出x ;

三iterative methods(迭代法)

a11x1 ? a12x2 ? ? ? a1nxn ? b1 a21x1 ? a22x2 ? ? ? a2nxn ? b2?

back 初始值

0,x0,?,x0x1n2

四 jacobi method

1.选择初始值

2.迭代方程为

0,x0,?,x0x1n2

k?1? x1k?1 ? x2

k? ? ? axk)b1?(a12x1nn

a11

k? ? ? axk)b2?(a21x2nn

a22

k ? axk ? ? ? ak)bn?(an1xxn2nn?1? k?1

xn ? ann

五gauss seidel method

1.迭代方程为

kk

b?(ax? ? ? axk?111221nn)x1? a11k?1k

b?(ax? ? ? axk?122112nn)x2 ? a22

?

k?1

k?1

k?1 2.选择初始值判断是否能用

0,x0,?,x0x1n2

jacobi method或者gauss

seidel method的充分条件(绝对对角占优原则)

第四章插值与多项式逼近

·第一节泰勒级数和函数计算

一些常用函数的泰勒级数展开:

for all x for all x for all x -1 -1 for篇二:如何学好数值分析

怎样学好数值分析课程?提几点意见供参考:一、树立信心,克服怕的思想。二、要先

复习相关的数学基础。三、要搞清每章要解决什么问题?如何解决,搞清各种方法的思想及

其数学原理,注重基本概念及基本方法不要死记硬背。四、及时复习,在复习基础上做给定

的习题。习题要自己先做,不要一上来就看答案。实在不会做再看解答,但必须自己搞清为

什么这样做。有条件的还可自己选做书后的计算实习题。

1.上课认真听讲

2.课后要认真完成作业

3.注重matlab上机实验

4.要多动手编写一些自己的程序

做到一上四点基本上就可以学好数值分析了

数值分析学习方法

1、学习方法

数值分析是一门理论与实践相结合的学科,这与我们从小到大接触到的许多纯理论学科,

学习的方法是有很大差异的。所以在学习的时候,方法必须有所突破,才能有好的学习效果。

(1)确立学习目标

首先应该明确“学习目的”,也就是指在选择学习课程时应该少一些盲从性。要学好数值分析,必须先为自己定下一个切实可行的目标。

(2)了解学习内容

“预习”是学习中一个很重要的环节。但和其他学科中的“预习”不同的是,数值分析中的不是说要把教材从头到尾地看上一遍,这里的“预习”是指:在学习之前,应该粗略地了解一下诸如课程内容是用来做什么的,用什么方式来实现等一些基本问题。

目前,在数学教学中流行的所谓“任务驱动”学习方法,就是指先有结果,再研究实施策略的学习方法。在任务驱动教学中,打破了常规教学方法中由浅入深的基本顺序,每一章节的知识点都是通过几个有代表性的案例来学习的,甚至包括认识程序。让你先体会到效果,从而增加学习兴趣。用这种方法来学习数值分析,尤其是一些视窗界面的计算程序,往往可以达到事半功倍的效果。

(3)正确利用书籍

建议大家预习教材和参考书,善学习者,可以在一开始用较短的时间对学习课程内容架构一个基本。使学生在继续下面较为复杂的学习之前,可以在一定的高度上对课程有一个大体轮廓。如若不然,一开始就急于“深入其中”,之后便云雾罩不知身在何处了。

为自己的学习搭建了基本构架之后,不要急于立刻再为其添砖加瓦。也就是说不要马上去阅读那些参考书。这样做,不仅难度圈套,而且效果也不会很好。暂时从文字中放松一下,换一种方式——从实践中学习。在计算机上新手去检验一下已有的知识。

(4)有关实践的问题

数值分析的实践,不只是简单地模仿别人的练习。在实践中最难得的是有自己的想法,并尽力去寻求解决办。在这种开支了脑筋的实践中,都会尝到真正的东西。

总之,想在任何事情上学有所成,都必须遵循一定的方法。尤其是数值分析,只要方法得当,刻苦勤奋,自己又关于摸索,基础都不会成为成功的障碍。相信在不久的将来,你会把这门课觉得很好。

此外,还要做到以下几点:

1、上课认真听讲;

2、课后要认真完成作业;

3、注重matlab等软件上机实验;

4、要多动手编写一些自己的程序;

5、注意掌握各种方法的基本原理;

6、注意各种方法的构造手法;

7、重视各种方法的误差分析;

8、做一定量的习题;

9、注意与实际问题相联系。

2、学习经验

数值分析又常被称为计算方法,是计算理论数学非常重要的一个分支,主要研究数值型计算。研究的肉粽保首先要谈谈数值计算的误差分析,误差是衡量我们的计算有效与否的标准,我们的算法解决问题如果在误差允许的范围内,则算法是有效的,否则就是一个无效的问题求解。

另外就是数值逼近,它研究关于如何使用容易数值计算的函数来挖地代替任意函数的方法与过程。感觉应用比较广的不得不提切雪比夫逼近和平方逼近了。笔者曾经尝试过后就是通过最佳平方逼近进行曲线的拟合,开发工具可以vc++或者matlab。托付函数是另外一个非

常重要的方面,现代的计算机程序控制加工机械零件,根据设计可给出零件外形曲线的藉此

型值点,加工时走刀方向及步数,就要通过托付函数计算零件外形曲线及其他点函数值。至

于议程求根、纯属议程组求解,一般的计算性程序设计问题都会多多少少的涉及一些,我们

这里就不赘述了。

关于数值分析的一个学习误区就是仅仅学习理论知识,而很难和程序设计结合起来,实

际上通过上面的论述,大家已经能够初步地认识到这个学科是应当与程序设计紧密联系才能

够体现它的重要性的。

第一章绪论

掌握误差的来源、衡量误差大小的一些标准、控制误差的一些原则

1.1 误差的来源与分类

在工程和科学计算中,估计计算结果的精确度是很重要的。而影响精确度的

是各种误差。误差按照它们的来源可分为以下四种:

1. 模型误差

数学模型一般只能近似的描述实际问题,如匀速运动认为速度(近似地)为常数,匀加速

运动认为速度为时间t的一次函数。在动力学中,若认为阻力r是速度 v = x ? (t) 的一次

函数:r = –??v,将v的高次项的影响略去,可得线性微分方程模型(见同济?高数?下册

p.366)。?

2. 观测误差

数学模型中包含的某些常数(时间,长度等)由于受仪器的限制观测结果不能绝对准确。

如测量距离时为了减少测量误差,一般取两次往返测量的平均值。

3. 截断误差

有些函数需要用无穷级数计算,计算时只能取前几项。如

sinx?x?

x

3

3!

?

x

5

5!

?? |r|?

|x|3!

3

当x充分小时取 sin x ? x,其误差

4. 舍入误差

在计算机上要把一些数字四舍五入后再计算如:种误差。

2?1.414, ?

因为我们主要是在已给数学模型的基础上研究计算方法的,所以只考虑后两

1.2 误差概念或误差的衡量标准

绝对误差(限)、相对误差(限)和有效数字 1. 绝对误差

设某量准确值为x,近似值为x*,称 e = x – x* 为近似值x*的绝对误差。简称为

误差。

在同一量的不同近似值中,|e (x)|越小,x*的精确度越高。

2. 绝对误差限

由于精确值x实际上是不知道的,故绝对误差e也不能求出。在实际计算中,可根据情

况事先估计出它的大小范围。即预先指定适当小的正数?,使得 | e | = | x – x* | ? ?? ? 称为近似值x*的绝对误差限。有时也用 x = x*? ? 表示近似值的精确度或准确值的

范围。

例如,取2的近似值为 a = 1.414,则 e =2– a = 0.00021?, | e | ? 0.0003。 3.

相对误差

绝对误差有时不足以表示近似值的好坏。例如,若有两个近似数

x1 =100 ? 1(m), x2 =1000 ? 1(m) 其绝对误差限都是1(m), x1* = 100(m), x2* = 1000(m),与近似值本身比较,x2*较精

确。

er?

ex?x?x*x

?x?x*x* 称er为近似值x*的相对误差。

如以上问题中的x1相对误差为1?,x2为0.1?。

相对误差越小者越精确。相对误差在误差分析中更能反映出误差的特征。它无量纲,与

所取单位无关。

4. 相对误差限

和绝对误差一样,er 也不能求出,可预先指定适当小的正数? r,使得? |er| ?

x?x*x

??r

,或

?r?

?

|x*|。

? r称为近似值x*的相对误差限。

5. 有效数字

近似值的准确程度可用有效数字来描述。

定义设x*是x的近似值,若x*的绝对误差限是它的某一位的半个单位,并且从该位到

它的第一位非零数字共有n位,则用x*近似x是具有n位有效数字。

相对误差与有效数字位数有关。有效数字位数越多,相对误差限越小。例1 设 347.0,

34.70,0.005 是经四舍五入得到的近似数,分别求出它们的绝对误差限和相对误差限。由此

可得什么结论?

解绝对误差限:0.05,0.005,0.0005。相对误差限:0.02%,0.02%,10%。

例2 下列各近似值的绝对误差度是0.0005,它们有几位有效数字。

14位),b?0.042(2位),c??0.00032(0位) a??1.0003(

1.3 误差的传播

设 u?f(x1,x2,?,xn)是可微的, xi是xi的近似值,

?

u?f(x1,x2,?,xn),则

???? e(u)?du?

n

?

n

?

i?1

?f(x1,x2,?,xn)

?xi

???

e(xi)

?

? ?(u)?

?

?

?|

i?1

?f(x1,x2,?,xn)

?xi

???

|?(xi) ?

e(x)e(u)是否很小? i?1,2,?,ni问题是:当()很小时,?

当?(xi)(i?1,2,?,n)很小时,?(u)是否很小?

?

下列公式很容易从对应公式求得:

e(x?y)?e(x)?e(y), e(xy)?ye(x)?xe(y) ,

2

?ye(x)?xe(y)?e(x)?yy 故可取 ?(x?y)??(x)??(y), ?

简单地说,两数之和(差)结果保留的小数位数与位数较少的加数相同,两数之积(商)保

留的数字位数与有效数字较少的因数相同。但其误差可能超过末位半个单位,这样保留的数

除最后一位数字外都是有效数字。详细分析如下例. 例 2 计算 0.324 ? (– 62.33)并

分析误差,设因数都是四舍五入所得(计算结果只保留有效数字)。

解设x = 0.324,y = – 62.33,由 d(xy) = ydx + xdy 得 ??(xy) = |y|??(x) + |x|??(y)。

??(x) = 0.0005,??(y) = 0.005,

??(xy) = 0.324 ? 0.005 + 62.33 ? 0.0005 = 0.0016 + 0.0312 ? 0.033 所以要四舍

五入保留1位小数(为什么?):

0.324 ? (– 62.33) = –20.1949 ? –20.2。

1.4 数值运算中的一些原则

算法稳定性的若干原则

因为在计算机中进行运算会产生舍入误差。为了减少舍入误差的影响,设计算法

时应遵循以下一些原则:

1. 要设法控制误差的传播

2. 相近的数相减的改进措施

因为

er(x?y)?

e(x)?e(y)x?y

,

| x – y|太小会使相对误差扩大。

1)若是两个根式相减,可将分子分母同乘以它的有理化因式。如取四位数字

计算:

?10?10.05?10?0.05?10?

1?10

?

(只有一位有效数字)

1

?

120.05

?0.04988

10.05?10

(有四位有效数字)

2) 若是两个三角函数相减,可和差化积后再计算。如: sin 30.2o – 0.5 = sin

30.2 o – sin 30 o = 2 cos 30.1o sin 0.1o。

3) 若是超越函数在两个相近点的函数值相减,可用tailor公式或中值定理:

f (x2) – f (x1) = f ? (? ) (x2 – x1),??? (x1, x2)

例比较三种算法:ln 3.000 001 – ln 3 = ln (3.000 001 / 3) ? 0.000 001 / 3.000

000 5。

用计算器计算结果分别为: 3.333 3?10–7,3.333 299 444?10–7,3.333 332 778?10

–7 (把计算结果乘以10 7才能显示10位)。更精确的解为3.333 332 777 777 9?10–7。

3. 两数相加要防止较小的数加不到较大的数中

连加时,要把绝对值较小的数放到前面先加。如:在4位有效数字的计算机上计算

0.3 + 0.3 + 0.4 + 1234,1234 + 0.4 + 0.3 + 0.3 结果不同。 4. 减少运算次数

这样可以减少误差积累。如计算多项式可用秦九韶算法:

p(x)?anx?an?1x

n

n?1

???a1x?a0

?????anx?an?1?x?an?2?x???a1?x?a0 例 2 x3 – 3 x2 + 4 x – 5 = ((2 x – 3) x + 4) x – 5。 5. 避免除数绝对值太

因为 d (x/y) = (ydx – xdy) / y2,| y | 太小会使绝对误差扩大。 6. 编程时避免

用等式条件例题

下列各题右端算法精度较高:

1?cosx

1. 2.

sinx

?tan

x2

, |x| << 1,和差化积。

?

2)sin

sin(x??)?sinx?2cos(x?

?

2

??cos(x?

?

2

)

.

3. 4.

?n

n?1

1x?1

2

?arctan(n?1)?arctann?arctan 1

1?n(n?1),n充分大。

e?1?x?

x

12

x??

2

,|x| << 1,用tailor公式。

记住 (1+x)a, ex, ln(1+x), sin x, cos x, tan x, cot x 的tailor公式:

tanx?x?

13x?

3

215

6

x??

5

cotx?

1x

13

x?

145

x??

3

5.计算最好?

f?(2?1)

,取2?1.4,利用下列等式计算,哪一个得到的结果

1(3?22)

3

1(2?1)

6

,(3?22),

3

,99?702 6.序列?yn?满足递推关系

yn?10yn?1?1

(n?1,2,?)

若y0?定吗? 7.

2?1.41(三位有效数字),计算到y10误差有多大?这个计算过程稳

7

给定 g(x)?10(1?cosx),试用四位数学用表求g(2)的近似值。

?

?7??

甲方法:?cos2?0.9994,?g(2)?10(1?cos2)?6000 乙方法:

?g(x)?2?10sin

7

22

?

,而sin1?0.0175,?g(2)?6125 ?

问题那一个方案较正确?

772

分析:记 t1?(1?a)?10,t2?2?10?b 其中

a?cosx

b?sin

x2 三角函数表给出了四位数字,它准确到小数后第三位,而第四位是经过“四舍五入”得

到的,即有

?

12

12

?

7

?10

?

?4

7

b?b

?

?

?

?10

2

?4 ?4

?

r(t1)

(1?a)?10?

?(1?a)?10

?

7

a?a??a

(1?a)?10

2

7

?2

?

?

?10

1?0.9994

?8.3% ?0.57%

2?10?b?2?10?b

7

?r(t2

2bb?b?

b

?2

??

2b?b?

?

?

)?

2?10?b

7

?2

?

10

?4

0.0175

比甲好,实际答案6091.73。篇四:数值分析学习报告

数值分析学习心得报告

班级:姓名:

学号:

************ *** *********** 学习数值分析的心得体会

数值分析是一门利用计算机求解数学问题数值解的课程,有很强的理论性和实践性,无意

中的一次选择,让我接触了数值分析。随着科学技术的发展,提出了大量复杂的数值计算问

题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论

和方法为研究对象。有可靠的理论分析,要有数值实验,并对计算的结果进行误差分析。数

值分析的主要内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组

的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。

作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学

和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比

较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。

学习数值分析,我们首先得知道一个软件——matlab。matrix laboratory,即矩阵实验

室,是math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影

响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强

大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语

言接口。

根据上网搜集到的资料,你就会发现matlab有许多优点:

首先,编程简单使用方便。到目前为止,我已经学过c语言,机器语言,java语言,这

三个语言相比,我感觉c语言还是很简单的一种编程语言。只要入门就很好掌握,但是想学

精一门语言可不是那么容易的。惭愧的说,到目前为止,我依然处于入门阶段,只会编写小

的简单的程序,但是班里依然还是有学习好的。c语言是简单且容易掌握的,但是,matlab

的矩阵和向量操作功能是其他语言无法比拟的。在matlab环境下,数组的操作与数的操作一

样简单,基本数据单元是不需要指定维数的,不需要说明数据类型的矩阵,而其数学表达式

和运

算规则与通常的习惯相同。

其次,函数库可任意扩充。众所周知,c语音有着丰富的函数库,我们可以随时调用,

大大方便了程序员的操作。可是作为it人士的你知道吗,由于matlab语言库函数与用户文

件的形式相同,用户文件可以像库函数一样随意调用,所以用户可任意扩充库函数。这是不

是很方便呢?

接着,语言简单内涵丰富。数值分析所用的语言中,最重要的成分是函数,其一般形式

为:function[a,b,c??]=fun(d,e,f??),你也发现了吧,这样的语音是不是很容易掌握呢!

fun是自定义的函数名,只要不与库函数想重,并且符合字符串书写规则即可。

然后是丰富的工具箱。由于matlab 的开放性,许多领域的专家都为matlab 编写了各种

程序工具箱。这些工具箱提供了用户在特别应用领域所需的许多函数,这使得用户不必花大

量的时间编写程序就可以直接调用这些函数,达到事半功倍的效果。不过你得提前知道这些

工具箱,并且会使用。

最后,我们来说一下matlab的运算。利用matlab可以做向量与矩阵的运算,与普通加

减运算几乎相似。

矩阵乘法用“ * ”符号表示,当a矩阵列数与b矩阵的行数相等时,二者可以进行乘

法运算,否则是错误的。如果a或b是标量,则a*b返回标量a(或b)乘上矩阵b(或a)

的每一个元素所得的矩阵。

对n×m阶矩阵a和p×q阶矩阵b,a和b的kronecher乘法运算可定义为:

kronecker乘法的matlab命令为c=kron(a,b):例如,在matlab中输入: a=[1 2; 3

4]; b=[1 3 2; 2 4 6]; c=kron(a,b) 则程序会给出相应的答案

c =

1 3

2 2 6 4

2 4 6 4 8 12

3 9 6

4 12 8 6 12 18 8 16 24

这就充分的考验了我们的实际动手能力,当然运用一般的计算方法能算出结果,但相对

来说没有用它来运算节省时间,其他算法又很不方便。

上面介绍了matlab的特点与使用方法,接着我们要说它的程序设计,其实跟c语言相比,

它们的程序设计都差不多。

大家都知道,matlab与其它计算机语言一样,也有控制流语句。而控制流语句本身,可

使原本简单地在命令行中运行的一系列命令或函数,组合成为一个整体—程序,从而提高效

率。以下是具体的几个例子,看过之后,你会发现,matlab的控制流语句跟其他计算机真的

很相似:

(1)for 循环for循环的通用形式为:for v=expressionstatementsend其中expression

表达式是一个矩阵,因为matlab中都是矩阵,矩阵的列被一个接一个的赋值到变量v,然后

statements语句运行。

(2)while 循环while循环的通用形式为:while v=expressionstatementsend当

expression的所有运算为非零值时,statements 语句组将被执行。如果判断条件是向量或

矩阵的话,可能需要all 或any函数作为判断条件。

(3)if和break语句通用形式为:if 条件1,命令组1;elesif条件2,命令组2;??;

else命令组k;endbreak%中断执行,用在循环语句内表示跳出循环。

对于数值分析这节课,我的理解是:只要学习并掌握好matlab,你就已经成功了。因此

说,matlab是数学分析的基础。另外,自我感觉这是一个很好的软件,其语言简便,实用性

强。但是作为一个做新手,想要学习好这门语言,

还是比较困难的。在平常的上机课中,虽然我没有问过老师,但是我向那些学习不错的

学生还是交流了许多,跟他们交流,我确实学到不少有用的东西。但是,毕竟没有他们学得

好,总之,在我接触这门语言的这些天,除了会画几个简单的三维图形,其他的还是有待提

高。在这个软件中,虽然有help,但大家不要以为有了这个就万事大吉了,反而,从另一个

方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。

其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。

数值分析是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。在科学研究和工程技术中有许多问题可归结为求解方程组的问题。本文主要讨论了插值法求函数,解线性方程组的求解方法,非线性方程组的解法及微分方程的解法,并通过在电流回路和单晶硅提拉过程中分析应用。进一步体现了数值分析的广泛应用,实际上由于误差的存在,一些问题只能求得近似解。对于良态方程组,只要求解方法稳定,即可得到比较满意的计算结果。但对于病态方程组,即使使用稳定性好的算法求解也未必理想,还需进一步的研究。总之,数值分析可以通过计算方法进行一种比较完善的构造,使之更普遍化,能够有举一反三的思想,能够解决一些实际中难解的问题,应用到各个领域。

在最后,我想说的是,谢谢老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。篇五:数值分析学习总结感想

数值分析学习感想

摘要:数值分析主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合。随着科学技术迅速发展,运用数学方法解决工程技术领域中的实际问题,已经得到普遍重视。

作为这学期的考试课,在我最初接触这门课时,我感到了很困难,因为无论是高数还是线性代数我都放下了很久,而我感觉数值分析是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,但是在老师不断地引导和讲授下,我逐渐对其产生了兴趣。在老师的反复讲解下,我发现我被它吸引了,因为它不仅是单纯的学科,还教会了我许多做人生活的道理。

首先,数值分析这门课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微分,求解线性方程组的解等,使数学理论更加有实际意义。

数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在别的地方没有什么,但是在数学领域,一个小的误差,就会有很大的差别,而学习了数值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。

数值分析中,“以点带面”的思想也深深影响了我。这里的“点”是根本,是主线。在第二章学习插值法的时候是以拉格朗日插值、牛顿插值为主线,然后逐渐展开介绍艾尔米特插值、分段低次插值和三次样条插值。在学习中只要将研究拉格朗日插值和牛顿插值的基本原理、基本方法理解透彻,其他的插值方法就基本掌握了。第四章处理数值积分和数值微分的基本方法是逼近法,只要将函数逼近的基本思想理解好,掌握起来就会得心应手;第六第七章是以迭代法为主线来求解线性方程组和非线性方程组的。在学习过程组只要将迭代法的相关原理掌

握好,便能掌握第六第七章。总的来数,数值分析所涉及到数学中很多学科的知识,内

容比较复杂,因此在学习过程中一定要将基本原理、基本算法理解透,然后再逐步推广。同样在生活中每件事情都有它的主线,只要抓住这条主线再难的事情也会迎刃而解。

还比如“等价转化”的思想,这里的“等价”不是完全意义上的“等价”,是指在转化前后转化的主体主要特征值没有变。插值法的思想就是抓住已知函数或者已知点的几个主要特征,用另一个具备主要特征的简单函数来代替原函数或拟合已知数据点。实际生活中也有很多类似情况,已知事件或者面临的情况往往是复杂的,常常不能直接用数学方法直接研究,我们可以做的就是抓住已经事件的主要特征转化为数学模型来建立。

在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的耐心讲解下,我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。

希望在将来,通过反复的实践能加深我的理解,在明年的这个时候我能有更多的感悟。同时,因为十五周的学习时间太短加上我的基础薄弱,我决定明年继续来旁听老师的课程,达到进一步学习,加深理解的目的。

数值分析典型习题

特别声明:考试时需带计 算器作辅助计算 1.2015x *=是经四舍五入得到的近似值,则其相对误差* r e ≤-31 104 ?. 2. 01(),(), ,()n l x l x l x 是以01,, ,n x x x 为节点的拉格朗日插值基函数,则 3.设(0)1(1)3(2)4(3)2f =,f =,f =,f =,[0123]f =,,,1 3 - . 4. 利用Simpson 公式求?2 1 2dx x = 7.3 5. 设求积公式1 0()d (),(1)n k k k f x x A f x n ≈≥∑?=是Gauss 型求积公式,则3 n k k k A x == ∑1 .4 6. 数值微分公式(2)(2) ()i i i f x h f x h f x h +≈ --'的截断误差为 2().O h 7. 设1101A ?? = ??? ,则A 的谱半径()A ρ= 1 ,A 的条件数1cond ()A = 4. 8. 用牛顿下山法求解方程3 03 x x -=根的迭代公式是 2 13 3(1),3n n n n x x x x x λ+-=-- 下山条件是 1()().n n f x f x +< 9.对任意初始向量(0)x 及任意向量f ,线性方程组的迭代公式(1)()(0,1,2,)k k k +=+=x Bx f ,迭代序列()k x 收敛于方程组的精确解x *的充分必要条件是()1.ρ

中国农业大学研究生数值分析考试重点及笔记

中国农业大学数值分析研究生课程重点 后面有笔者的笔记!! 第1章 1、 5个概念(绝对误差、绝对误差限、相对误差、相对误差限,有效数字)及其计算,数值运算的误差估计 2、算法稳定性的概念及算法设计的5个原则 第2章 1、牢记拉格朗日插值公式、牛顿插值公式,掌握余项推导 2、了解均差的性质 3、会用基函数和承袭性两种方法构造埃尔米特插值问题,并会推导余项 4、为何要分段低次插值?会构造分段线性和分段三次埃尔米特插值 5、三次样条插值的2种构造思路 第3章 会利用最小二乘法解决具体问题 第4章 1、机械求积公式、代数精度的概念理解和计算

2、插值型求积公式的定义和判断,插值型求积公式中求积系数有何特点?如何证明? 3、求积公式余项的推导 4、什么叫牛顿-柯特斯求积公式?总结其优缺点 5、牢记梯形公式、辛普森公式及其余项(会推导),牢记柯特斯公式 6、复化求积公式的计算 7、高斯型求积公式的定义、判断和使用,高斯型求积公式中求积系数有何特点?如何证明? 8、总结学过的数值求积公式,说明其关系 第5章 1、会用高斯消去法、高斯列主元素法、直接三角分解法、(改进)平方根法、追赶法求解线性方程组 2、会计算矩阵和向量的常用范数 3、线性方程组性态的分析 第6章 1、三种迭代法(雅可比、高斯-赛德尔、松弛法)的构造及其矩阵形式的推导 2、会构造迭代公式求方程组的解,并判断是否收敛 第7章

1、了解不动点迭代法是否收敛的判断方法 2、会判断迭代法收敛的收敛速度(收敛阶) 3、会构造不动点迭代公式求方程的根,并指明收敛阶数 4、牛顿迭代法公式推导,求单根和重根收敛性的证明 5、牛顿迭代法的优缺点及其改进 第9章 1、牢记欧拉的5个公式及其推导 2、会用三种不同方法推导欧拉显式单步公式 3、掌握局部截断误差的概念及其应用

数值分析学期期末考试试题与答案(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 和上三角矩

数值分析实验报告1

实验一误差分析 实验1.1(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 其中ε(1.1)和(1.221,,,a a 的输出b ”和“poly ε。 (1(2 (3)写成展 关于α solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。 实验过程: 程序: a=poly(1:20); rr=roots(a); forn=2:21 n form=1:9 ess=10^(-6-m);

ve=zeros(1,21); ve(n)=ess; r=roots(a+ve); -6-m s=max(abs(r-rr)) end end 利用符号函数:(思考题一)a=poly(1:20); y=poly2sym(a); rr=solve(y) n

很容易的得出对一个多次的代数多项式的其中某一项进行很小的扰动,对其多项式的根会有一定的扰动的,所以对于这类病态问题可以借助于MATLAB来进行问题的分析。 学号:06450210 姓名:万轩 实验二插值法

数值分析典型例题

第一章典型例题 例3 ln2=0.…,精确到10-3的近似值是多少 解 精确到10-3=,即绝对误差限是=, 故至少要保留小数点后三位才可以。ln2 第二章典型例题 例1 用顺序消去法解线性方程组 ??? ??1 -=4+2+4=+2+31 -=4++2321 321321x x x x x x x x x 解 顺序消元 ?? ?? ??????---???→???????????---????→???????????--=-?+-?+-?+1717005.555.00141 25.025.105.555.001412142141231412]b A [)3()2/1()2/3(231312r r r r r r M 于是有同解方程组 ?? ? ??-==--=++17175.555.0142332321x x x x x x 回代得解 x 3=-1, x 2=1,x 1=1,原线性方程组的解为X =(1,1,-1)T 例2 取初始向量X (0)=(0,0,0)T ,用雅可比迭代法求解线性方程组 ??? ??5 =+2+23=++1=2-2+321 321321x x x x x x x x x 解 建立迭代格式 ???????+--=+--=++-=+++5223122) (2)(1)1(3 ) (3)(1)1(2 ) (3)(2)1(1k k k k k k k k k x x x x x x x x x (k =1,2,3,…)

第1次迭代,k =0 X (0)=0,得到X (1)=(1,3,5)T 第2次迭代,k =1 ???????-=+?-?-=-=+--==+?+?-=3 532123 351515232)2(3) 2(2)2(1x x x X (2)=(5,-3,-3)T 第3次迭代,k =2 ???????=+-?-?-==+---==+-?+-?-=1 5)3(2521 3)3(511)3(2)3(2)2(3) 3(2)3(1x x x X (3)=(1,1,1)T 第4次迭代,k =3 ???????=+?-?-==+--==+?+?-=1 512121 311111212)2(3) 2(2)2(1x x x X (4)=(1,1,1)T 例4 证明例2的线性方程组,雅可比迭代法收敛,而高斯-赛德尔迭代法发散。 证明 例2中线性方程组的系数矩阵为 A =?? ?? ? ?????-122111221 于是 D =?? ?? ??????100010001 D -1=D ??????????=022001000L ~ ????? ?????-=000100220U ~ 雅可比迭代矩阵为

数值分析期末考试复习题及其答案.doc

数值分析期末考试复习题及其答案 1. 已知325413.0,325413* 2* 1==X X 都有6位有效数字,求绝对误差限。(4分) 解: 由已知可知,n=6 5.01021 ,0,6,10325413.0016*1=?= =-=?=ε绝对误差限n k k X 2分 620* 21021,6,0,10325413.0-?=-=-=?=ε绝对误差限n k k X 2分 2. 已知?????=001A 220 - ???? ?440求21,,A A A ∞ (6分) 解: {},88,4,1max 1==A 1分 {},66,6,1max ==∞A 1分 () A A A T max 2λ= 1分 ?????=001A A T 420 ?? ?? ? -420?????001 220 - ?????440=?????001 080 ???? ?3200 2分 {}3232,8,1max )(max ==A A T λ 1分 24322==A 3. 设3 2 )()(a x x f -= (6分) ① 写出f(x)=0解的Newton 迭代格式 ② 当a 为何值时,)(1k k x x ?=+ (k=0,1……)产生的序列{}k x 收敛于2 解: ①Newton 迭代格式为: x a x x x a x a x x a x x x f x f x x k k k k k k k k k k 665)(665)(6)()(')(2 2 32 1 += +=---=-=+? 3分

②时迭代收敛即当222,112 10)2(',665)('2<<-<-=-=a a x a x ?? 3分 4. 给定线性方程组Ax=b ,其中:? ??=1 3A ??? 22,??????-=13b 用迭代公式)()()()1(k k k Ax b x x -+=+α(k=0,1……)求解Ax=b ,问取什么实数α,可使迭代收 敛 (8分) 解: 所给迭代公式的迭代矩阵为?? ? --? ??--=-=ααααα21231A I B 2分 其特征方程为 0) 21(2)31(=----= -αλα ααλλB I 2分 即,解得αλαλ41,121-=-= 2分 要使其满足题意,须使1)(

工程中的数值分析

. 《工程中的数值分析》开放性考试

工程中的数值分析题目: 建筑与土木工程系分院: 14土木工程本一班级: 陈凯名:姓14219114125号:学 日14122016 完成日期:年月 温州大学瓯江学院教务部. . 二○一二年十一月制 实现二分法的和算法及Excel1.1 由闭区间上连续函数的性质f(b)<0f(a)·[a,b]上连续,且在原理:设函数 f(x)二分法的基本思想内至少有一个实根.(a,b),方程(2.2)在区间及定理2-1可知,,进一步缩小有根区间:逐步二分区间[a,b],通过判断两端点函数值的符号是. ,从而求出满足精度要求的根的近似值将有根区间的长度缩小到充分小算法:给定精确度ξ,用二分法求函数f(x)零点近似值的步骤如下: 确定区间[a,b],验证f(a)·f(b)<0,给定精确度.求区间(a,b)的中点c.计算f(c). (1)若f(c)=0,则c就是函数的零点;

(2)若f(a)·f(c)<0,则令b=c; (3)若f(c)·f(b)<0,则令a=c. (4)判断是否达到精确度ε:即若|a-b|<,则得到零点近似值a(或b),否则重复2-4. Excel实现:单元格内分别输入区间[a,b]的左右端点值,中点值=(a+b)/2,依次计算出各点代入公式的f(x)值,用IF函数比较单元格内输入“=IF(f(中点值)<0”,中点值,a)如果f(中点值)<0,则下个左端点取原来的中点值 (a+b)/2. 同理“=IF(f(中点值)<0,b,中点值)”下个右端点取原来的右点值b. 如此循环往下,直至某个中点值代入f(x)得到的解满足题目要求的近似解或者零点即f(c)=0则该值则为零点。 . . 1.2不动点迭代法的原理和算法及Excel实现,并分析不同迭代格式的收敛性原理:将线性方程f(x)=0化为一个同解方程x=φ(x),并且假设φ(x)为连续函数,任取初值x,代入方程得到 x=φ(x),x=φ(x)····x=φ k+121001(x),k=0,1,2,····k称为求解非线性方程组的简单迭代法,称φ(x)为迭代函数,x称为第k步迭代k值. 若{x}收敛,则称迭代法收敛,否则称迭代法发散. k算法: (1)确定初值

数值分析实验报告

数值分析实验报告 姓名:周茹 学号: 912113850115 专业:数学与应用数学 指导老师:李建良

线性方程组的数值实验 一、课题名字:求解双对角线性方程组 二、问题描述 考虑一种特殊的对角线元素不为零的双对角线性方程组(以n=7为例) ?????????? ?????? ? ???? ?d a d a d a d a d a d a d 766 55 44 3 32 211??????????????????????x x x x x x x 7654321=?????????? ? ???????????b b b b b b b 7654321 写出一般的n (奇数)阶方程组程序(不要用消元法,因为不用它可以十分方便的解出这个方程组) 。 三、摘要 本文提出解三对角矩阵的一种十分简便的方法——追赶法,该算法适用于任意三对角方程组的求解。 四、引言 对于一般给定的d Ax =,我们可以用高斯消去法求解。但是高斯消去法过程复杂繁琐。对于特殊的三对角矩阵,如果A 是不可约的弱对角占优矩阵,可以将A 分解为UL ,再运用追赶法求解。

五、计算公式(数学模型) 对于形如????? ?? ????? ??? ?---b a c b a c b a c b n n n n n 111 2 2 2 11... ... ...的三对角矩阵UL A =,容易验证U 、L 具有如下形式: ??????? ????? ??? ?=u a u a u a u n n U ...... 3 3 22 1 , ?? ????? ? ?? ??????=1 (1) 1132 1l l l L 比较UL A =两边元素,可以得到 ? ?? ??-== = l a b u u c l b u i i i i i i 111 i=2, 3, ... ,n 考虑三对角线系数矩阵的线性方程组 f Ax = 这里()T n x x x x ... 2 1 = ,()T n f f f f ... 2 1 = 令y Lx =,则有 f Uy = 于是有 ()?????-== --u y a f y u f y i i i i i 1 1 11 1 * i=2, 3, ... ,n 再根据y Lx =可得到

数值分析典型习题资料

数值分析典型习题

特别声明:考试时需带计 算器作辅助计算 1.2015x *=是经四舍五入得到的近似值,则其相对误差* r e ≤ -31 104 ?. 2. 01(),(),,()n l x l x l x L 是以01,,,n x x x L 为节点的拉格朗日插值基函数,则 3.设(0)1(1)3(2)4(3)2f =,f =,f =,f =,[0123]f =,,,1 3 - . 4. 利用Simpson 公式求?2 1 2dx x = 7.3 5. 设求积公式1 0()d (),(1)n k k k f x x A f x n ≈≥∑?=是Gauss 型求积公式,则3 n k k k A x == ∑1 .4 6. 数值微分公式(2)(2) ()i i i f x h f x h f x h +≈ --'的截断误差为 2().O h 7. 设1101A ?? = ??? ,则A 的谱半径()A ρ= 1 ,A 的条件数1cond ()A = 4. 8. 用牛顿下山法求解方程3 03 x x -=根的迭代公式是 2 13 3(1),3n n n n x x x x x λ+-=-- 下山条件是 1()().n n f x f x +< 9.对任意初始向量(0)x 及任意向量f ,线性方程组的迭代公式(1)()(0,1,2,)k k k +=+=L x Bx f ,迭代序列()k x 收敛于方程组的精确解x *的充分必要条件是()1.ρ

数值计算方法学习心得

数值计算方法学习心得 ------一个代码的方法是很重要,一个算法的思想也很重要,但 在我看来,更重要的是解决问题的方法,就像爱因斯坦说的内容比 思维本身更重要。 我上去讲的那次其实做了挺充分的准备,程序的运行,pdf文档,算法公式的推导,程序伪代码,不过有一点缺陷的地方,很多细节 没有讲的很清楚吧,下来之后也是更清楚了这个问题。 然后一学期下来,总的来说,看其他同学的分享,我也学习到 许多东西,并非只是代码的方法,更多的是章胜同学的口才,攀忠 的排版,小冯的深入挖掘…都是对我而言比算法更加值得珍惜的东西,又骄傲地回想一下,曾同为一个项目组的我们也更加感到做项 目对自己发展的巨大帮助了。 同时从这些次的实验中我发现以前学到的很多知识都非常有用。 比如说,以前做项目的时候,项目导师一直要求对于要上传的 文件尽量用pdf格式,不管是ppt还是文档,这便算是对产权的一种 保护。 再比如代码分享,最基础的要求便是——其他人拿到你的代码 也能运行出来,其次是代码分享的规范性,像我们可以用轻量级Ubuntu Pastebin,以前做过一小段时间acm,集训队里对于代码的分享都是推荐用这个,像数值计算实验我觉得用这个也差不多了,其 次项目级代码还是推荐github(被微软收购了),它的又是可能更 多在于个人代码平台的搭建,当然像readme文档及必要的一些数据 集放在上面都更方便一些。

然后在实验中,发现debug能力的重要性,对于代码错误点的 正确分析,以及一些与他人交流的“正规”途径,讨论算法可能出 错的地方以及要注意的细节等,比如acm比赛都是以三人为一小组,讨论过后,讲了一遍会发现自己对算法理解更加深刻。 然后学习算法,做项目做算法一般的正常流程是看论文,尽量 看英文文献,一般就是第一手资料,然后根据论文对算法的描述, 就是如同课上的流程一样,对算法进一步理解,然后进行复现,最 后就是尝试自己改进。比如知网查询牛顿法相关论文,会找到大量 可以参考的文献。 最后的最后,想说一下,计算机专业的同学看这个数值分析, 不一定行云流水,但肯定不至于看不懂写不出来,所以我们还是要 提高自己的核心竞争力,就是利用我们的优势,对于这种算法方面 的编程,至少比他们用的更加熟练,至少面对一个问题,我们能思 考出对应问题的最佳算法是哪一个更合适解决问题。 附记: 对课程的一些小建议: 1. debug的能力不容忽视,比如给一个关于代码实现已知错误的代码给同学们,让同学们自己思考一下,然后分享各自的debug方法,一步一步的去修改代码,最后集全班的力量完成代码的debug,这往往更能提升同学们的代码能力。 2. 课堂上的效率其实是有点低的,可能会给学生带来一些负反馈,降低学习热情。 3. 总的来说还是从这门课程中学到许多东西。 数值分析学习心得体会

浅析数值分析在机械工程领域的应用

浅谈数值分析在机械工程领域的应用 摘要:MATLAB是目前国际上最流行的科学与工程计算的软件工具, 它具有强大的数值分析、矩阵运算、信号处理、图形显示、模拟仿真和最优化设计等功能。本文浅谈MATLAB在机械设计优化问题的几点应用。 关键词:MATLAB 约束条件机械设计优化数值分析 引言:在线性规划和非线性规划等领域经常遇到求函数极值等最优化问题,当函数或约束条件复杂到一定程度时就无法求解,而只能求助于极值分析算法,如果借助计算器进行手工计算的话,计算量会很大,如果要求遇到求解极值问题的每个人都去用BASIC,C和FORTRAN之类的高级语言编写一套程序的话,那是非一朝一日可以解决的,但如用MATLAB语言实现极值问题的数值解算,就可以避免计算量过大和编程难的两大难题,可以轻松高效地得到极值问题的数值解,而且可以达到足够的精度。 数值分析是一门研究如何在计算机上求解数学问题算法的学科,主要内容有:误差分析,插值法,数值微积分,数值代数, 矩阵计算和微分方程数值解法等, 是工科各专业大学本科及研究生中开设的一门计算量大,算法多,实践性比较强的专业课。在长期的教学实践中,数值分析课程常采用C语言进行教学和实验, 要求学生既要对算法有充分了解,又要熟练掌握C语言的语法和编程技巧, 导致学生和教师将大量的时间和精力都花在繁琐的数值计算以及对各种结果绘图上面,学习效果往往令人不满意。M a t l a b 是M a t h W o r k s 公司开发的一款以数值计算为主要特色的数学工具软件, 在数值计算领域独领风骚。其所带强大的符号运算功能, 几乎包括高等数学所涉及的运算, 如求极限、导数、微分、积分、函数的级数展开、解常微分方程等等, 并且样条工具箱中的命令调用格式极为简单方便, 对工科学生来说, 掌握起来无需费多大力气, 而对机械系等理工科系的同学,通过初步了解M a t l a b还可以进一步挖掘其强大的功能, 对学习其他课程也有帮助。本文讨论基于matlab在机械方面的数值分析。 一.数值分析方法的研究 1、数值分析方法意义

数值计算实验报告

(此文档为word格式,下载后您可任意编辑修改!) 2012级6班###(学号)计算机数值方法 实验报告成绩册 姓名:宋元台 学号: 成绩:

数值计算方法与算法实验报告 学期: 2014 至 2015 第 1 学期 2014年 12月1日课程名称: 数值计算方法与算法专业:信息与计算科学班级 12级5班 实验编号: 1实验项目Neton插值多项式指导教师:孙峪怀 姓名:宋元台学号:实验成绩: 一、实验目的及要求 实验目的: 掌握Newton插值多项式的算法,理解Newton插值多项式构造过程中基函数的继承特点,掌握差商表的计算特点。 实验要求: 1. 给出Newton插值算法 2. 用C语言实现算法 二、实验内容 三、实验步骤(该部分不够填写.请填写附页)

1.算法分析: 下面用伪码描述Newton插值多项式的算法: Step1 输入插值节点数n,插值点序列{x(i),f(i)},i=1,2,……,n,要计算的插值点x. Step2 形成差商表 for i=0 to n for j=n to i f(j)=((f(j)-f(j-1)(x(j)-x(j-1-i)); Step3 置初始值temp=1,newton=f(0) Step4 for i=1 to n temp=(x-x(i-1))*temp*由temp(k)=(x-x(k-1))*temp(k-1)形成 (x-x(0).....(x-x(i-1)* Newton=newton+temp*f(i); Step5 输出f(x)的近似数值newton(x)=newton. 2.用C语言实现算法的程序代码 #includeMAX_N) { printf("the input n is larger than MAX_N,please redefine the MAX_N.\n"); return 1; } if(n<=0) { printf("please input a number between 1 and %d.\n",MAX_N); return 1; } printf("now input the (x_i,y_i)i=0,...%d\n",n); for(i=0;i<=n;i++) { printf("please input x(%d) y(%d)\n",i,i);

数值分析典型例题

第一章典型例题 例3…,精确到10-3的近似值是多少? 解 精确到10-3=,即绝对误差限是?=, 故至少要保留小数点后三位才 可以。ln2? 第二章典型例题 例1 用顺序消去法解线性方程组 解 顺序消元 于是有同解方程组 回代得解 x 3=-1, x 2=1,x 1=1,原线性方程组的解为X =(1,1,-1)T 例2 取初始向量X (0)=(0,0,0)T ,用雅可比迭代法求解线性方程组 解 建立迭代格式 ??? ????+--=+--=++-=+++5223122)(2)(1)1(3) (3)(1)1(2 )(3)(2)1(1k k k k k k k k k x x x x x x x x x (k =1,2,3,…) 第1次迭代,k =0 X (0)=0,得到X (1)=(1,3,5)T 第2次迭代,k =1 X (2)=(5,-3,-3)T 第3次迭代,k =2 X (3)=(1,1,1)T 第4次迭代,k =3

X (4)=(1,1,1)T 例4 证明例2的线性方程组,雅可比迭代法收敛,而高斯-赛德尔迭 代法发散。 证明 例2中线性方程组的系数矩阵为 A =?? ?? ? ?????-122111221 于是 D =?? ?? ??????100010001 D -1 =D ?? ?? ? ?????=022001000L ~ ?? ?? ? ?????-=000100220U ~ 雅可比迭代矩阵为 B 0=?? ?? ? ?????--=??????????-??????????-=+--022101220022101220100010001)U ~L ~(D 1 得到矩阵B 0的特征根03,2,1=λ,根据迭代基本定理4,雅可比迭代法收敛。 高斯-赛德尔迭代矩阵为 G =-U ~ )L ~D (1-+ =-?? ?? ??????----=??????????-??????????---=??????????-??????????-2003202200001002201200110010001002201220110011 解得特征根为?1=0,?2,3=2。由迭代基本定理4知,高斯-赛德尔迭代发散。 例5 填空选择题: 1. 用高斯列主元消去法解线性方程组 作第1次消元后的第2,3个方程分别为 。

油藏数值模拟学习心得

通过了几节课的“油藏数值模拟课”的学习,我知道了“油藏数值模拟”是应用计算机研究油气藏中多相流体渗流规律的数值计算方法,它能够解决油气藏开发过程中难以解析求解的极为复杂的渗流及工程问题,是评价和优化油气藏开发方案的有力工具。它主要是让我们石油石油工程专业的学生掌握一些基本的油藏数值模拟技术和技巧,学习基本的油藏渗流数学模型及其解法、计算方法和应用方法,培养我们用计算机解决油藏开发问题的能力。 “油藏数值模拟”涉及的学科较多,利用数学知识和计算机知识较多,我认为是非常难的。虽然教师教的很认真也很耐心,我仍然不能跟着老师的节奏。因为一开始就知道这个软件很有实际应用价值,所以我也就特别的想好好的学习它。可惜现在我面临着考研这座大山,我实在是没有充分的时间课下来好好的温习与研究老师上课所讲的东西。很遗憾,后来老师讲的东西我有些就不会了。好在前三四节课讲的内容还学会了,学会了模拟三层的油层概况。也许这点知识对我以后的再次学习会有不错的基础作用吧!总之还是很感谢老师的耐心教导。 在学习的过程中,我觉得油藏原始参数,如渗透率、孔隙度等的收集,以及油藏原始数据是否齐全准确非常重要,尤其是一开始填date时的单位的选择,这些都关系到数值模拟的效果。如果原始资料很少,数值模拟的效果就不可能好。数值模拟方法越复杂,所需的原始资料也越多。收集资料时,如发现必需的资料不够或不准确,应采取补救措施。通常要求准备的参数包括:①油藏地质参数。产层构造图,油、气、水分布图,油层厚度、孔隙度、渗透率、原始含油饱和度的等值图等。②流体物理性质参数。地面性质和地层状态下的物性数据,原始压力和地层温度数据,对凝析气田还需要相图和相平衡的资料。③专项岩心分析资料。油水相渗透率曲线,油气相渗透率曲线,油层润湿性,吸入和排驱毛细管压力曲线;对碳酸盐岩孔隙裂缝双重介质储层,还需渗吸曲线。④单井和分层分区的生产数据和有关测试资料。⑤油田建设和经济分析的有关数据。 将收集的油藏地质资料进行系统整理后,要将油藏的地质特征模式化,以充分反映油藏的构造特征和沉积特征,如油层物理性质参数的分布、油气水的分布、油气水在地面和地下的性质、驱油动力、压力系统和地温梯度等。油藏地质模型是否符合实际情况,直接影响数值模拟成果的准确性。 由于人们对油田实际地质条件的认识有一定的限度,计算时所用的参数也就有一定的局限性,因此,第一次模拟计算的结果,如压力、产量、气油比、含水率等与油田实际生产状况常有较大的出入。必须进行分析,修改相关的计算参数,重新进行计算。通常,经过多次修改可使计算结果与实际生产历史基本相符,误差在允许范围以内。从工程应用的角度看,可认为此时所应用的计算参数,反映了油田地下的实际状况,使用这些参数来计算和预测油田未来的动态,能够达到较高的精度。在油田开采过程中这类历史拟合要进行多次,使油田的模型逐步更接近实际而得到更适用的结果。

哈尔滨工程大学数值分析大作业2014-附fortran程序

B班大作业要求: 1. 使用统一封皮; 2. 上交大作业内容包含: 一摘要 二数学原理 三程序设计(必须对输入变量、输出变量进行说明;编程无语言要求,但程序要求通过)四结果分析和讨论 五完成题目的体会与收获 3. 提交大作业的时间:本学期最后一次课,或考前答疑;过期不计入成绩; 4. 提交方式:打印版一份;或手写大作业,但必须使用A4纸。 5. 撰写的程序需打印出来作为附录。

课程设计 课程名称: 设计题目: 学号: 姓名: 完成时间:

题目一:非线性方程求根 一 摘要 非线性方程的解析解通常很难给出,因此非线性方程的数值解就尤为重要。本实验通过使用常用的求解方法二分法和Newton 法及改进的Newton 法处理几个题目,分析并总结不同方法处理问题的优缺点。观察迭代次数,收敛速度及初值选取对迭代的影响。 用Newton 法计算下列方程 (1) 310x x --= , 初值分别为01x =,00.45x =,00.65x =; (2) 32943892940x x x +-+= 其三个根分别为1,3,98-。当选择初值02x =时给出结果并分析现 象,当6 510ε-=?,迭代停止。 二 数学原理 对于方程f(x)=0,如果f(x)是线性函数,则它的求根是很容易的。牛顿迭代法实质上是一种线性化方法,其基本思想是将非线性方程f(x)=0逐步归结为某种线性方程来求解。 设已知方程f(x)=0有近似根x k (假定k f'(x )0≠) ,将函数f(x)在点x k 进行泰勒展开,有 k k k f(x)f(x )+f'(x )(x-x )+≈??? 于是方程f(x)=0可近似的表示为 k k k f(x )+f'(x )(x-x )=0 这是个线性方程,记其根为x k+1,则x k+1的计算公式为 k+1k () x =x -'() k k f x f x ,k=0,1,2,… 这就是牛顿迭代法或简称牛顿法。

数值分析实验报告1

实验一 误差分析 实验(病态问题) 实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。通过本实验可获得一个初步体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出:考虑一个高次的代数多项式 )1.1() ()20()2)(1()(20 1∏=-=---=k k x x x x x p 显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。现考虑该多项式的一个扰动 )2.1(0 )(19=+x x p ε 其中ε是一个非常小的数。这相当于是对()中19x 的系数作一个小的扰动。我们希望比较()和()根的差别,从而分析方程()的解对扰动的敏感性。 实验内容:为了实现方便,我们先介绍两个Matlab 函数:“roots ”和“poly ”。 roots(a)u = 其中若变量a 存储n+1维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,,,+n a a a ,则输出u 的各分量是多项式方程 01121=+++++-n n n n a x a x a x a 的全部根;而函数 poly(v)b =

的输出b 是一个n+1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“poly ”是两个互逆的运算函数。 ;000000001.0=ess );21,1(zeros ve = ;)2(ess ve = ))20:1((ve poly roots + 上述简单的Matlab 程序便得到()的全部根,程序中的“ess ”即是()中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。 如果扰动项的系数ε很小,我们自然感觉()和()的解应当相差很小。计算中你有什么出乎意料的发现表明有些解关于如此的扰动敏感性如何 (2)将方程()中的扰动项改成18x ε或其它形式,实验中又有怎样的现象 出现 (3)(选作部分)请从理论上分析产生这一问题的根源。注意我们可以将 方程()写成展开的形式, ) 3.1(0 ),(1920=+-= x x x p αα 同时将方程的解x 看成是系数α的函数,考察方程的某个解关于α的扰动是否敏感,与研究它关于α的导数的大小有何关系为什么你发现了什么现象,哪些根关于α的变化更敏感 思考题一:(上述实验的改进) 在上述实验中我们会发现用roots 函数求解多项式方程的精度不高,为此你可以考虑用符号函数solve 来提高解的精确度,这需要用到将多项式转换为符号多项式的函数poly2sym,函数的具体使用方法可参考Matlab 的帮助。

数值分析典型例题

数值分析典型例题 例1 对下列各数写出具有5位有效数字的近似值。236.478, 0.00234711, 9.000024, 9.0000343 10?. 解:按照定义,以上各数具有5位有效数字的近似值分别为:236.478, 0.0023471, 9.0000, 9.0000310?。 注意: *x =9.000024的5位有效数字是9.0000而不是9,因为9 是1位有效数字。 例2 指出下列各数具有几位有效数字。2.0004, -0.00200, -9000, 9310?, 23 10-?。 解:按照定义,以上各数的有效数字位数分别为5, 3, 4,1,1 例3 已测得某物体行程* s 的近似值s=800m ,所需时间* s 的近似值为t=35s ,若已知m s s s t t 5.0||,05.0||**≤-≤-,试求平均速度v 的绝对误差和相对误差限。 解:因为t s v /=,所以)()(1)()()(2t e t s s e t t e t v s e s v v e -=??+??≈ 从 而 05.00469.035 800 5.0351|)(||||)(|1|)(|22≤≈+?≤+≤t e t s s e t v e 同样v v e v e r )()(≈)()()()(t e s e t e v t t v s e v s s v r r r -=??+??= 所以00205.035 05 .08005.0|)(||)(||)(|≈+≤+≤t e s e v e r r r 因此绝对误差限和相对误差限分别为0.05和0.00205。 例4试建立积分20,,1,05 =+=n dx x x I n n 的递推关系,并研究它的误差 传递。 解:151 --= n n I n I ……………………………………………..…...(1) 5ln 6ln 0-=I ,计算出0I 后可通过(1)依次递推计算出1I ,…,20I 。 但是计算0I 时有误差0e ,由此计算出的1I ,…,20I 也有误差,由(1)可 知近似值之间的递推关系为 151 --= n n I n I ……………………………………………….…..(2) (1)-(2)可得 01)5(5e e e n n n -=-=-,由0I 计算n I 时误差被放大了n 5倍。所以(1)不稳 定。 (1) 可以改写为 n I I n n 51 511+ -=- ……………………………………… (3) 如果能先求出20I ,则依次可以求出19I ,…,0I ,计算20I 时有误差,这样根据(3)计算19I ,…,0I 就有误差,误差传播为 n n n e e ?? ? ??-=-511 ,误差依次减少。 例5 用二分法求解方程012)(23=+--=x x x x f 在区间[0,1]内的1个实根,要求有3为有效数字。 解:因为0)1()0(