数值分析期末总结论文,程序界面

数值分析期末总结论文,程序界面
数值分析期末总结论文,程序界面

数值计算方法论文

论文名称:数值计算方法期末总结

学号:

姓名:

完成时间:

摘要:数值计算方法是数学的一个重要分支,以用计算机求解数学问题的理论和方法为研究对象。本文是我对本学期数值分析这门课程中所学到的内容以及所作的工作的总结。通过一学期的学习,我深入学习了线性方程组的解法,非线性方程的求根方法,矩阵特征值与特征向量的计算,函数的插值方法,最佳平方逼近,数值积分与数值微分,常微分方程初值问题的数值解法。通过陶老师课堂上的讲解和课下的上机训练,对以上各个章节的算法有了更深刻的体会。

最后做了程序的演示界面,使得程序看起来清晰明了,便于查看与修改。通过本学期的学习。

关键词:数值计算方法、演示界面

第一章前言

随着电子计算机的普及与发展,科学计算已成为现代科学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。

第二章基本概念

2.1算法

算法是指由基本算术运算及运算顺序的规定构成的完整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。

2.2 误差

计算机的计算结果通常是近似的,因此算法必有误差,并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表2.1

表2.1

第三章泛函分析

2.1泛函分析概要

泛函分析(Functional Analysis)是研究“函数的函数”、函数空间和它们之间变换(映射)的一门较新的数学分支,隶属分析数学。它以各种学科为具体背景,在集合的基础上,把客观世界中的研究对象抽象为元素和空间。如:距离空间,赋范线性空间,内积空间。

2.2 范数

范数,是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,泛函是一个函数,其为矢量空间内的所有矢量赋予非零的正长度或大小。

这里以Cn空间为例,Rn空间类似。最常用的范数就是p-范数。若

,那么

当p取1,2,∞的时候分别是以下几种最简单的情形:

1-范数:║x║1=│x1│+│x2│+…+│xn│

2-范数:║x║2=(│x1│2+│x2│2+…+│xn│2)1/2

∞-范数:║x║∞=max(│x1│,│x2│,…,│xn│)

其中2-范数就是通常意义下的距离。

对于这些范数有以下不等式:║x║∞≤ ║x║2≤ ║x║1≤ n1/2║x║2≤ n║x║∞

另外,若p和q是赫德尔(Hölder)共轭指标,即1/p+1/q=1,那么有赫德尔不等式:

|| = ||xH*y| ≤ ║x║p║y║q

当p=q=2时就是柯西-许瓦兹(Cauchy-Schwarz)不等式

一般来讲矩阵范数除了正定性,齐次性和三角不等式之外,还规定其必须满足相容性:║XY║≤║X║║Y║。所以矩阵范数通常也称为相容范数。

如果║·║α是相容范数,且任何满足║·║β≤║·║α的范数║·║β都不是相容范数,那么║·║α称为极小范数。对于n阶实方阵(或复方阵)全体上的任何一个范数║·║,总存在唯一的实数k>0,使得k║·║是极小范数。

注:如果不考虑相容性,那么矩阵范数和向量范数就没有区别,因为mxn矩阵全体和mn维向量空间同构。引入相容性主要是为了保持矩阵作为线性算子的特征,这一点和算子范数的相容性一致,并且可以得到Mincowski定理以外的信息。

第四章 算法总结

本学期讲解过的主要算法列举如下:线性方程组的解法(高斯消元法,列主消元法,Doolittle 分解法,追赶法,LDL'分解法,Jacobi 分解法,Seidel 迭代法);非线性方程的求根方法(二分法,简单迭代法,Newton 迭代法,Newton+下山因子,Newton 迭代法2,Newton 非线性方程);矩阵特征值与特征向量的计算(householder 矩阵,反幂法,幂法,QR 分解);函数的插值方法(三次样条插值,Lagrange 插值法,Newton 差商插值法);最佳平方逼近(chebyshev 最小二乘法,曲线拟合最小二乘法);数值积分与数值微分(simpson 求积分式算法,Romberg 算法,外推法);常微分方程初值问题的数值解法(欧拉改进法、龙格库塔法和修正的Adams 法)。下面对主要算法进行分析。

4.1线性方程组的解法

本章学习了一些求解线性方程组的常用方法,其中Gauss 消元法,列主元消元法,LU 分解法,追赶法和LDL ’分解法都是解线性方程组的直接方法;而Jacobi 迭代法和SOR 法则是解线性方程组的基本迭代法。求解线性方程组时,应该注意方程组的性态,对病态方程组使用通常求解方程组的方法将导致错误。迭代求精法可用于求解某些病态方程。

4.1.1高斯列主元LU 分解法求解线性方程组

高斯消元法和LU 分解法是直接法求解线性方程组中的两种方法。其中高斯消元法的基本思想是将线性方程组(1.1)通过消元,逐步化为同解的三角形方程组,然后用回代法解出n 个解。高斯列主元消元法则是在高斯消元法的基础上提

出的先选主元再消元的方法,避免了(1)0k kk a -=时消元无法进行或者是当(1)k kk a -的绝

对值与其下方的元素(1)(1,2,,)k ik a i k k n -=++的绝对值之比很小时,引起计算机

上溢或产生很大的舍入误差而导致所求出的解失真的问题。LU 分解法是将矩阵A 用一个下三角矩阵和一个上三角矩阵之积来表示,即A LU =,然后由A LU =,Ax b =,得LUx b =,将线性方程组的求解化为对两个三角形方程组Ly b =和Ux y =的求解,由此可解出线性方程组(1.1)的n 个解12,,,n x x x 。这两种求解线性方程组的方法在处理单个线性方程组时没有差别,只是方法的不同,但在处理系数矩阵A 相同,而右端项不同的一组线性方程组时,LU 分解法就有明显的优势,因为它是将系数矩阵A 和右端项b 分开处理的,这样就可以只进行一次分解。例如,求解线性方程组,1,2,,i Ax b i m ==,用高斯消元法求解的计算量

大约为313mn ,而用LU 分解求解的计算量约为32

13n mn +,后者计算量显然小很多。但是LU 分解法同样有可能由于jj u 的绝对值很小而引起计算机上溢或产生很大的舍入误差而导致所求出的解失真。因此提出了结合高斯列主元消元的LU 分解法。

我们采用的计算方法是先将A 矩阵进行高斯列主元消元,然后再计算相应的L 矩阵和U 矩阵(U 矩阵就是经过n-1步消元后的A 矩阵)。但要注意,第k 步消元时会产生(1,2,,)ik m i k k n =++,从而可以得到L 矩阵的第k 列元素,但在下一步消元前选取列主元时可能会交换方程的位置,因此与方程位置对应的L 矩阵中的元素也要交换位置。

4.2非线性方程组的求根方法

本章学习的二分法简单迭代法、Newton 迭代法等方法,代表着求解非线性方程所采用的两类方法。大范围收敛方法的初值x0选取没有多少限制,只要在含根区间任选其一即可,二分法就是这类方法。局部收敛法要求x0要充分靠近根x*才能保证收敛,以简单迭代法为基础,Newton 迭代法为代表的各类迭代法都属这类方法。

4.2.1Newton 迭代法

牛顿迭代法的构造过程是这样的:设0x 是()0f x =的一个近似根,将()f x 在

0x 处作Taylor 展开得'''

200000()()()()()()2!f x f x f x f x x x x x =+-+-+,若取其

前两项来近似代替()f x ,得近似方程的根

'1000()/()x x f x f x =-,然后再对1x 做上述同样处理,继续下去,一般若'()0k f x ≠,则可以构造出迭代格式

1'()

()k k k k f x x x f x +=-

此格式称为牛顿迭代格式,用它来求解()0f x =的方法称为牛顿迭代法。 牛顿迭代法的几何意义是用()f x 在k x 处的切线与x 轴得交点作为下一个迭代点1k x +的。由于这一特点,牛顿迭代法也常称为切线法。

牛顿迭代法虽然收敛很快,但它通常过于依赖初值0x 的选取,如果0x 选择不当,将导致迭代发散或产生无限循环。

4.3 矩阵特征值与特征向量的计算

本章学习了计算矩阵特征值和特征向量的三种常用的有效方法。

幂法是求矩阵的主特征值和对应特征向量的一种迭代方法。它在计算过程中原始举证A 始终不变。这种方法简单方便,适用于任意类型的矩阵,特别适用于高阶稀疏矩阵。

QR 算法是计算任意矩阵A 的全部特征值的一种正交相似变换方法。它利用Househoder 变换把矩阵A 约化成一种上三角阵,所得三角阵的对角线的元就是所求矩阵的特征值。

Jacobi 方法是另一种求矩阵特征值的变换法。它是把实对称阵A 经过一系列正交旋转变换化为一个对角阵。对角阵的对角元就是A 的特征值。

4.3.1 QR 法求特征值

QR 算法是目前求一般矩阵全部特征值最有效的方法。

其以基本步骤如下:

(1)令

1A A =,对1A 作QR 分解:()111A Q R = (4-1)

(2)将(4-1)右端逆序相乘,得到()211A R Q = (4-2)

(3)(4-2)式中对2A 作QR 分解,有()222A Q R =,()322A R Q =,以此类推

(4)得到矩阵序列(){}k A ,容易证明()k A 与A 相似,因而具有相同特征值。

在一定条件下,(){}

k A 收敛于上三角阵(或分块上三角阵),其对角元(或分块)有确定的极限。如果收敛于上三角阵,则主对角元就是A 的特征值;如果收敛于分块,则这些分块的特征值也就是A 的特征值。

4.4 函数的插值法

本章学习了插值多项式与样条插值函数的构造与误差,主要构造方法是利用插值基函数。插值多项式的两种形式各有特点,Lagrange 插值适用于不等距节点的插值和导出数值计算公式。Newton 插值使用与等距节点的插值及在插值中增加节点。由于高次插值的效果不好,实践中常用分段低次插值,特别是样条插值。样条函数是当前函数逼近中最活跃的一个分支,它在函数插值、数值积分、微分方程求解中都有重要应用。

4.4.1Hermite 插值

设()f x ,[],x a b ∈。已知它在1n +个互异点n x (012n a x x x x b ≤<<<

<≤)上的函中求数值: (), 0,1,

,i i f x y i n ==。

求解插值问题就是从函数类Φ中求?使:

() 0,1,,i i x y i n ?==

这里()f x 称为被插函数,[],a b 称为插值区间,()0,1,,i x i n =称为插值结点,()x ?称为插值函数,Φ称为插值函数类。误差函数()()()R x f x x ?=-称为插值余项,并以()x ?作为()

f x 的估值,x 称为插值点,当x 属于包含结点012,,,,n x x x x 的最小闭区间时,相应的插值称为内插,否则称为外插。

在0x 附近,可用()f x 在0x 处的n 阶Taylor 展开式)(x p n 来近似函数()f x

显然它与()f x 在0x 处具有相同的函数值,以及1到n 阶导数值,即有

()()00()() (0,1,2,)i i n p x f x i n ==

(4.31)

故可将n 阶的Taylor 公式视为在0x 处满足插值条件(4.31)的一种插值方法.

为在较大的范围内能更好的近似被插值函数()f x ,在实际应用中,不但要求在节点上插值函数与被插值函数有相同的函数值,而且要求在部分或者全部节点上一阶甚至更高阶的导数值也相同.这类插值称为Hermite 插值。在一点处两个函数的函数值和一阶导数值相同,在几何上表现为两条曲线在该点有相同的切线;如果直至二阶导数值相同,则两条曲线在该点具有相同的凹凸性及曲率。可见,Hermite 插值是一类更广泛的插值方法,Taylor 公式可视为在0x 处的Hermite 插值。

在构造Hermite 插值时,如给出的插值条件有1m +个,则可以构造一个不超过m 次的插值多项式。

4.5最佳平方逼近

最小二乘曲线拟合是处理实验数据的常用方法。通常选取多项式为拟合函数,但此种拟合对应的法方程当阶数较高时,往往出现病态。为避免上述问题,可采用正交多项式。样条函数亦是一个很好的拟合模型,它既能保证有良好的逼近效果,又比较便于计算。

4.5.1Legendre 最小二乘曲线拟合

n

n n x x n x f x x x f x f x p )(!)())((')()(00)

(000-+-+=

曲线拟合问题就是从在实验中得到的1m +对数据(,),(0,1,,)i i x y i m =中找到一个经验公式。曲线拟合的最小二乘法实际上是离散数据下的最佳平方逼近,其提法为:给定1m +对数据(,),(0,1,,)i i x y i m =和一组权系数01,,,m ωωω。设

{}010,,

,n n j j j j M span c c R ?????=??===∈????∑ 是曲线拟合函数类,其中01,,

,n ???是线性无关的基函数。求 **

()()n j j j x c x M ??==∈∑

使得***0101(,,,)min (,,,)n n M S c c c S c c c ?∈=,若满足此式的解*()x ?存在,则*()x ?称为数据(,),(0,1,,)i i x y i m =的最小二乘拟合函数。

常规的最小二乘拟合通常取(),(0,1,,j j x x j n ?==,并取权系数

1(0,1,,)i i m ω==,

而Legendre 最小二乘拟合是以Legendre 正交多项式为基函数的,即()()j j x P x ?=,可解得 *(,),0,1,,(,)j j j j y c j n ???==

(5.1)

其中0(,)()m j i j i i i y x y ?ω?==∑是带权内积,而()()j j x P x ?=可由如下递推公式得到: 110121()()(),()1,()11

j j j j j P x xP x P x P x P x x j j +-+=-==++ (5.2)

则拟合的结果为**

0()()n j j j x c x ??==∑,最小平方误差为*

*2

0(,)(,)n

j j j j S y y c ??==-∑ 若所给区间不是[-1,1],而是[a,b],则可通过变换x=(a+b)/2+[(b-a)/2]t 将其转换为-1<=t<=1上的情形处理,具体是现在程序中有所体现。

4.6 数值积分与数值微分

本章学习了数值积分与数值微分的计算方法,这些近似方法都是基于对函数

作插值逼近,用插值函数的积分或微分近似原来函数的积分或微分。等距结点求积公式及其复合公式算法比较简单,程序易实现,特别是Romberg 求积公式,当节点加密提高积分近似程度时,前面的结果可以为后面的计算使用,因此对减少计算量有好处。Gauss 型求积公式是高精度求积公式,其节点是不规则的。通常在具有相同数目结点的情况下,它将大大优于其他等距节点求积公式。特别是计算无穷积分与旁义积分是其它方法不能比的。但使用gauss 型求积公式要在计算机中存储节点和求积系数,计算过程也较麻烦。

4.6.1 数值积分

所谓数值积分方法,就是用一个足够精度的简单函数

()p x 去近似被积函数,

从而有

()()b b a

a f x dx p x dx ≈?? (1-6-1)

一般取()p x 为()f x 的插值多项式或分段插值多项式,因此得到

()()0 b n k k k a

f x dx A f x =≈∑?

(1-6-2) 式(1-6-1)称为数值求积公式。k A 称为求积数,它仅与k x 有关,与被积函数()f x 无关。k x 称为求积结点。

4.6.2 数值微分

根据函数在一些离散点的函数值,推算它在某点的导数或高阶导数的近似值的方法。通常用差商代替微商,或者用一个能够近似代替该函数的较简单的可微函数(如多项式或样条函数等)的相应导数作为能求导数的近似值。例如一些常用的数值微分公式(如两点公式、三点公式等)就是在等距步长情形下用插值多项式的导数作为近似值的。此外,还可以采用待定系数法建立各阶导数的数值微分公式,并且用外推技术来提高所求近似值的精确度。当函数可微性不太好时,利用样条插值进行数值微分要比多项式插值更适宜。如果离散点上的数据有不容忽视的随机误差,应该用曲线拟合代替函数插值,然后用拟合曲线的导数作为所求导数的近似值,这种做法可以起到减少随机误差的作用。数值微分公式是微分方程数值解法的重要依据。

4.7 常微分方程初值问题的数值解法

本章主要学习了求解常微分方程初值问题的两类数值解法:单步法与线性多步法。单步法中最常用的是R-K 方法。它的特点是易于编程,易于调整步长,且

稳定性好,不用提供辅助值,是自开始方法;但是它的精度的提高依赖于计算f (x ,y )的次数。因此R-K 方法适用于计算函数值不太复杂且精度要求不很高的问题。线性多步法具有计算函数值次数少,精度高的优点,并且它还宜于估计误差。所以在计算比较复杂时,推荐使用线性多步法。本章介绍了变步长的单步法,误差控制方法,它要求计算中固定方法的阶,若想在计算过程中提高方法的阶,则要用外推法。

4.7.1改进的Euler 方法

利用原有的Euler 方法,利用其结果(0)1

n y +,再利用梯形公式迭代一次就得到1n y +,这样的计算公式就是改进的Euler 方法。其计算格式为

1111(,)[(,)(,)]2

n n n n n n n n n n y y hf x y h y y f x y f x y ++++=+???=++?? 按上面第一个式子算出初值1n y +称为预测,按第二式迭代一次求出1n y +称为校正,这两个式子构成一个预测-校正公式。它可以改写成一个显示公式:

11[(,)(,(,))]2

n n n n n n n n h y y f x y f x y hf x y ++=+++ 4.7.2 Runge-Kutta 方法

将改进Euler 法改写成如下形式: ???????++==++=+),()

,()(21121211K y h t f h K y t f h K K K y y i i i i i i

此为一单步、2阶、显式公式(比较梯形:2阶隐式)。若注意此处的21,K K ,它们是两个不同的增量,Heun 方法则是从

i y 出发加上若干个增量的加权平均值后得到1+i y ,将此推广到一般形式,i y 出发加上m 个增量的加权平价取得1+i y ,便有:m -级Runge-Kutta 公式

?????????++++=++==++++=--+)

,()

,(),(11221112122122111m m m m m i m i m i i i i m m i i K K K y h t f h K K y h t f h K y t f h K K K K y y βββαβαλλλ

二级Runge-Kutta 公式为:

?????++==++=+),(),(12122111K y h t f h K y t f h K K K y y i i i i i i βαλλ

常用的四阶四级Runge-Kutta 公式(称为经典、古典或标准Runge-Kutta 公式——Classical Runge-Kutta )

1123411223431(22)6(,)

(,)22(,)22(,)i i i i i i i i i i y y K K K K K h f t y K h K h f t y K h K h f t y K h f t h y K +?=++++??=???=++???=++??=++??

几何意义:若将上述44--RK 公式改写为:

)22(643211f f f f h y y i i ++++=+ 其中)4,3,2,1(=j f j 为分别为原式中)4,3,2,1(=j K j 中相应的函数j f 值。比较在区间

],[1+i i t t 上的数值积分Simpson 公式

)4(6),(111+++++=+=?

+i m i i t t i i f f f h y dt y t f y y i i 其中 1,,+i m i f f f 分别表示),(y t f 在区间 ],[1+i i t t 的左、中、右端点的值;它们分别有:41321,,f f f f f f f i m i ≈≈≈≈+;因此可简略地得到该44--RK 公式的误差公式是

)(28801),()5(5i i y h h t E ξ-=

第五章 算法界面制作

学期末,我运用VB 环境制作界面,如图5.1所示

图5.1总结界面

由上图可以很直观地看到总结界面综合了本学期所有编写的程序,并且,在该界面环境下,根据程序设计的要求,允许修改程序及输入数据文件,支持修改后的编译连接,并可以在这个图形界面下面运行这学期编写的所有程序。对本学期所做工作做了一个很好的总结。

第六章总结

通过对《数值计算方法》这门课程的理论学习以及以上一系列的程序编写,我不仅对数值计算方法的原理和和算法应用有了更近一步的了解,同时还对C语言的程序编写,编译和链接等方面有了进一步的掌握,对规模稍大的程序编写也积累了一定的经验。通过学习我已经对数值计算方法这门课程有了一定的了解,我相信有了这样实用的数学工具,在今后的学习生活中一定会给我带来狠多的帮助,我也会更加努力,争取更大的进步!!

这门课程分工合作的性质,增进了我与其他同学之间相互协作的能力。相信这些都会对我以后的自身发展有很大的帮助。在此,对老师课堂上的悉心指导表示衷心的感谢!

第七章参考文献

[1]刘钦圣张晓丹王兵团. 数值计算方法教程. 北京:冶金工业出版社,2005.

数值分析小论文 董安

数值分析作业 课题名称代数插值法-拉格朗日插值法班级Y110201 研究生姓名董安 学号S2******* 学科、专业机械制造及其自动化 所在院、系机械工程及自动化学院2011 年12 月26日

代数插值法---拉格朗日插值法 数值分析中的插值法是一种古老的数学方法,它来自生产实践。利用计算机解决工程问题与常规手工计算的差异就在于它特别的计算方法.电机设计中常常需要通过查曲线、表格或通过作图来确定某一参量,如查磁化曲线、查异步电动机饱和系数曲线等.手工设计时,设计者是通过寻找坐标的方法来实现.用计算机来完成上述工作时,采用数值插值法来完成。因此学好数值分析的插值法很重要。 插值法是函数逼近的重要方法之一,有着广泛的应用 。在生产和实验中,函数f(x)或者其表达式不便于计算复杂或者无表达式而只有函数在给定点的函数值(或其导数值) ,此时我们希望建立一个简单的而便于计算的函数 (x),使其近似的代替f(x),有很多种插值法,其中以拉格朗日(Lagrange)插值和牛顿(Newton)插值为代表的多项式插值最有特点,常用的插值还有Hermit 插值,分段插值和样条插值.本文着重介绍拉格朗日(Lagrange)插值法。 1.一元函数插值概念 定义 设有m+1个互异的实数1x ,2x ,···,m x 和n+1 个实值函数()0 x j , ()1 x j , ···()n x j ,其中n £m 。若向量组 k f =(()0k x j ,()1k x j ,···,() k m x j )T (k=0,1,,n ) 线性无关,则称函数组{()k x j (k=0,1, ,n )}在点集{i x (i=0,1, ,m)}上线性无关;否 则称为线性相关。 例如,函数组{2+x ,1-x ,x+2 x }在点集{1,2,3,4}上线性无关。 又如,函数组{sin x ,n2x ,sin 3x }在点集{0, 3p ,2 3 p ,p }上线性相关。 给点n+1个互异的实数0x ,1x ,···,n x ,实值函数() f x 在包含0x ,1x ,···,n x 的某个区间[] ,a b 内有定义。设函数组 {()k x j (k=0,1, ,n )} 是次数不高于n 的多项式组,且在点集{0x ,1x ,···,n x }上线性无关。

数值分析作业思考题汇总

¥ 数值分析思考题1 1、讨论绝对误差(限)、相对误差(限)与有效数字之间的关系。 2、相对误差在什么情况下可以用下式代替 3、查阅何谓问题的“病态性”,并区分与“数值稳定性”的不同点。 4、取 ,计算 ,下列方法中哪种最好为什么(1)(3 3-,(2)(2 7-,(3) ()3 1 3+ ,(4) ()6 1 1 ,(5)99- , 数值实验 数值实验综述:线性代数方程组的解法是一切科学计算的基础与核心问题。求解方法大致可分为直接法和迭代法两大类。直接法——指在没有舍入误差的情况下经过有限次运算可求得方程组的精确解的方法,因此也称为精确法。当系数矩阵是方的、稠密的、无任何特殊结构的中小规模线性方程组时,Gauss消去法是目前最基本和常用的方法。如若系数矩阵具有某种特殊形式,则为了尽可能地减少计算量与存储量,需采用其他专门的方法来求解。 Gauss消去等同于矩阵的三角分解,但它存在潜在的不稳定性,故需要选主元素。对正定对称矩阵,采用平方根方法无需选主元。方程组的性态与方程组的条件数有关,对于病态的方程组必须采用特殊的方法进行求解。 数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 $ r e x x e x x ** * ** - == 141 . ≈)61

数值分析总复习提纲教材

数值分析总复习提纲 数值分析课程学习的内容看上去比较庞杂,不同的教程也给出了不同的概括,但总的来说无非是误差分析与算法分析、基本计算与基本算法、数值计算与数值分析三个基本内容。在实际的分析计算中,所采用的方法也无非是递推与迭代、泰勒展开、待定系数法、基函数法等几个基本方法。 一、误差分析与算法分析 误差分析与算法设计包括这样几个方面: (一)误差计算 1、截断误差的计算 截断误差根据泰勒余项进行计算。 基本的问题是 (1)1 ()(01)(1)! n n f x x n θεθ++<<<+,已知ε求n 。 例1.1:计算e 的近似值,使其误差不超过10-6。 解:令f(x)=e x ,而f (k)(x)=e x ,f (k)(0)=e 0=1。由麦克劳林公式,可知 211(01)2!!(1)! n x x n x x e e x x n n θθ+=+++++<<+ 当x=1时,1 111(01)2! !(1)! e e n n θθ=+++ ++ <<+ 故3 (1)(1)!(1)! n e R n n θ=<++。 当n =9时,R n (1)<10-6,符合要求。此时, e≈2.718 285。 2、绝对误差、相对误差及误差限计算 绝对误差、相对误差和误差限的计算直接利用公式即可。 基本的计算公式是: ①e(x)=x *-x =△x =dx ② *()()()ln r e x e x dx e x d x x x x ==== ③(())()()()e f x f x dx f x e x ''== ④(())(ln ())r e f x d f x = ⑤121212121122121122((,))(,)(,)(,)()(,)()x x x x e f x x f x x dx f x x dx f x x e x f x x e x ''''=+=+ ⑥121212((,)) ((,))(,) f x x f x x f x x εδ=

数值计算方法学习心得

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

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

数值分析实验报告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 的帮助。

数值分析小论文

“数值分析”课程 第一次小论文 郑维珍2015210459 制研15班(精密仪器系)内容:数值分析在你所在研究领域的应用。 要求:1)字数2500以上;2)要有摘要和参考文献;3)截至10.17,网络学堂提交,过期不能提交! 数值分析在微流控芯片研究领域的应用 摘要: 作者在硕士期间即将参与的课题是微流控芯片的研制。当前,微流控芯片发展十分迅猛,而其中涉及到诸多材料学、电子学、光学、流体力学等领域的问题,加上微纳尺度上的尺寸效应,理论研究和数值计算都显得困难重重。发展该领域的数值计算,成为重中之重。本文从微流体力学、微传热学、微电磁学、微结构力学等分支入手,简要分析一下数值分析方法在该领域的应用。 微流控芯片(Microfluidic Chip)通常又称芯片实验室(Lab-On-a-Chip ),它是20世纪90年代初由瑞士的Manz和Widmer提出的[1-2],它通过微细加工技术,将微管道、微泵、微阀、微电极、微检测元件等功能元件集成在芯片材料(基片)上,完成整个生化实验室的分析功能,具有减少样品的消耗量、节省反应和分析的时间、高通量和便携性等优点。 通常一个微流控芯片系统都会执行一个到多个微流体功能,如泵、混合、热循环、扩散和分离等,精确地操纵这些流体过程是微流控芯片的关键。因此它的研究不仅需要生命科学、MEMS、材料学、电子学、光学、流体力学等多学科领域的基础理论的支持,还需要很多数学计算。

1)微流体力学计算[3]: 对微管里的流体动力的研究主要包含了以下几个方面:(1)微管内流体的粘滞力的研究;(2)微管内气流液流的传热活动;(3)在绝热或传热的微管内两相流的流动和能量转换。这三方面的研究涵盖了在绝热、传热和多相转换条件下,可压缩和不可压缩流体在规则或不规则的微管内的流动特性研究。 由此,再结合不同的初值条件和边界条件,我们可以得到各种常微分方程或偏微分方程,而求解这些方程,就是需要很多数值分析的知识。例如,文献[4]里就针对特定的初值和边界条件,由软件求解了Navier-Stodes方程: 文献[4]专门有一章节讨论了该方程的离散化和数值求解。 微流体力学主要向两个方面发展:一方面是研究流动非定常稳定特性、分叉解及微尺寸效应下的湍流流动的机理,更为复杂的非定常、多尺度的流动特征,高精度、高分辨率的计算方法和并行算法;另一方面是将宏观流体力学的基本模型,结合微纳效应,直接用于模拟各种实际流动,解决微纳芯片生产制造中提出来的各种问题。 2)微传热方程计算: 常微分、偏微分方程的数值求解应用较为广泛的另一问题就是微流体传热问题。由传热学的相关知识,我们可以达到如下的传热学基本方程: 该方程在二维情况下经过简化和离散,可以得到如教材第三章所讲的“五点差分格式”的方程组,从而采取数值方法求解[5]。 除此之外,微结构芯片在加工和制造过程中也会有很多热学方面的问题,例如文献[6]所反映的注塑成型工艺中,就有大量的类似问题的解决。 3)微电磁学计算: 由于外加电场的作用,电渗流道中会产生焦耳热效应。许多研究者对电渗流道中的焦耳热效应进行了数值模拟研究。新加坡南洋理工大学的G. Y. Tang等在电渗流模型的基础上,考虑了与温度有关的物理系数,在固一液祸合区域内利用

数值分析心得体会

数值分析心得体会 篇一:学习数值分析的经验 数值分析实验的经验、感受、收获、建议班级:计算131 学号:XX014302 姓名:曾欢欢 数值分析实验主要就是学习MATLAB的使用以及对数值分析类容的应用,可以使学生更加理解和记忆数值分析学得类容,也巩固了MATLAB的学习,有利于以后这个软件我们的使用。在做实验中,我们需要具备较好的编程能力、明白MATLAB软件的使用以及掌握数值分析的思想,才能让我们独立自主的完成该作业,如果是上述能力有限的同学,需要借助MATLAB的书以及网络来完成实验。数值分析实验对于我来说还是有一定难度,所以我课下先复习了MATLAB的使用方法以及编写程序的基本类容,借助互联网和同学老师资源完成了数值分析得实验的内容。在实验书写中,我复习了各种知识,所以我认为这门课程是有必要且是有用处的,特别是需要处理大量实验数据的人员,很有必要深入了解学习它,这样在以后的工作学习里面就减少了很多计算问题也提高了实验结果的精确度。 学习数值分析的经验、感受、收获、建议数值分析的内容包括插值与逼近,数值微分与数值积分,非线性方程与线性方程组的数值解法,矩阵的特征值与特征向量计算,常微分方程数值解等。

首先我们必须明白数值分析的用途。通常所学的其他数学类学科都是由公式定理开始,从研究他们的定义,性质再到证明与应用。但实际上,尤其是工程,物理,化学等其它具体的学科。往往我们拿到 手的只是通过实验得到的数据。如果是验证性试验,需要代回到公式 进行分析,验证。但往往更多面对的是研究性或试探性试验,无具体 公式定理可代。那就必须通过插值,拟合等计算方法进行数据处理以得到一个相对可用的一般公式。还有许多计算公式理论上非常复杂,在工程中不实用,所以必须根据实际情况把它转化成多项式近似表 示。学习数值分析,不应盲目记公式,因为公事通常很长且很乏味。其次,应从公式所面临的问题以及用途出发。比如插值方法,就 是就是把实验所得的数据看成是公式的解,由这些解反推出一个近似公式,可以具有局部一般性。再比如说拟合,在插值的基础上考虑实 验误差,通过拟合能将误差尽可能缩小,之后目的也是得到一个具有 一定条件下的一般性的公式。。建议学习本门课程要结合知识与实际,比如在物理实验里面很多

数值分析报告报告材料期末复习资料

数值分析期末复习 题型:一、填空 二、判断 三、解答(计算) 四、证明 第一章 误差与有效数字 一、有效数字 1、 定义:若近似值x*的误差限是某一位的半个单位,该位到x*的第一位非零数字共有n 位,就说 x*有n 位有效数字。 2、 两点理解: (1) 四舍五入的一定是有效数字 (2) 绝对误差不会超过末位数字的半个单位eg. 3、 定理1(P6):若x*具有n 位有效数字,则其相对误差限为 4、 考点: (1)计算有效数字位数:一个根据定义理解,一个根据定理1(P7例题3) 二、避免误差危害原则 1、 原则: (1) 避免大数吃小数(方法:从小到大相加;利用韦达定理:x1*x2= c / a ) (2) 避免相近数相减(方法:有理化)eg. 或 (3) 减少运算次数(方法:秦九韶算法)eg.P20习题14 *(1)1 1 102n r a ε--≤ ?; x εx ε x εx ++=-+();1ln ln ln ???? ? ?+=-+x εx εx x cos 1-2sin 22x =

三、数值运算的误差估计 1、 公式: (1) 一元函数:|ε*( f (x *))| ≈ | f ’(x *)|·|ε*(x )|或其变形公式求相对误差(两边同时除以f (x *)) eg.P19习题1、2、5 (2) 多元函数(P8)eg. P8例4,P19习题4 第二章 插值法 一、 插值条件 1、 定义:在区间[a,b]上,给定n+1个点,a ≤x 0<x 1<…<x n ≤b 的函数值 yi=f(xi),求次数不超过n 的多项式P(x),使 2、 定理:满足插值条件、n+1个点、点互异、多项式次数≤n 的P(x)存在且唯一 n i y x P i i n ,,2,1,0)(Λ==

MATLAB与数值分析课程总结

MATLAB与数值分析课程总结 姓名:董建伟 学号:2015020904027 一:MATLAB部分 1.处理矩阵-容易 矩阵的创建 (1)直接创建注意 a中括号里可以用空格或者逗号将矩阵元素分开 b矩阵元素可以是任何MATLAB表达式,如实数复数等 c可以调用赋值过的任何变量,变量名不要重复,否则会被覆盖 (2)用MATLAB函数创建矩阵如:a空阵[] b rand/randn——随机矩阵 c eye——单位矩阵 d zeros ——0矩阵 e ones——1矩阵 f magic——产生n阶幻方矩阵等 向量的生成 (1)用冒号生成向量 (2)使用linspace和logspace分别生成线性等分向量和对 数等分向量 矩阵的标识和引用 (1)向量标识 (2)“0 1”逻辑向量或矩阵标识 (3)全下标,单下标,逻辑矩阵方式引用 字符串数组 (1)字符串按行向量进行储存 (2)所有字符串用单引号括起来 (3)直接进行创建 矩阵运算 (1)注意与数组点乘,除与直接乘除的区别,数组为乘方对应元素的幂

(2)左右除时斜杠底部靠近谁谁是分母 (3)其他运算如,inv矩阵求逆,det行列式的值, eig特征值,diag 对角矩阵 2.绘图-轻松 plot-绘制二维曲线 (1)plot(x)绘制以x为纵坐标的二维曲线 plot(x,y) 绘制以x为横坐标,y为纵坐标的二维曲线 x,y为向量或矩阵 (2)plot(x1,y1,x2,y2,。。。。。。)绘制多条曲线,不同字母代替不同颜色:b蓝色,y黄色,r红色,g绿色 (3)hold on后面的pl ot图像叠加在一起 hold off解除hold on命令,plot将先冲去窗口已有图形(4)在hold后面加上figure,可以绘制多幅图形 (5)subplot在同一窗口画多个子图 三维图形的绘制 (1)plot3(x,y,z,’s’) s是指定线型,色彩,数据点形的字 符串 (2)[X,Y]=meshgrid(x,y)生成平面网格点 (3)mesh(x,y,z,c)生成三维网格点,c为颜色矩阵 (4)三维表面处理mesh命令对网格着色,surf对网格片着色 (5)contour绘制二维等高线 (6)axis([x1,xu,y1,yu])定义x,y的显示范围 3.编程-简洁 (1)变量命名时可以由字母,数字,下划线,但是不得包含空格和标点 (2)最常用的数据类型只有双精度型和字符型,其他数据类型只在特殊条件下使用 (3)为得到高效代码,尽量提高代码的向量化程度,避免使用循环结构

《数值分析》课程设计报告

《数值分析》课程设计实验报告 龙格—库塔法分析Lorenz 方程 200820302033 胡涛 一、问题叙述 考虑著名的Lorenz 方程 () dx s y x dt dy rx y xz dt dz xy bz dt ?=-???=--???=-?? 其中s ,r ,b 为变化区域内有一定限制的实参数,该方程形式简单,表面上看并无惊人之处,但由该方程揭示出的许多现象,促使“混沌”成为数学研究的崭新领域,在实际应用中也产生了巨大的影响。 二、问题分析 Lorenz 方程实际上是一个四元一阶常微分方程,用解析法精确求解是不可能的,只能用数值计算,最主要的有欧拉法、亚当法和龙格- 库塔法等。为了得到较高精度的,我们采用经典四阶龙格—库塔方法求解该问题。 三、实验程序及注释 (1)算法程序 function [T]=Runge_Kutta(f,x0,y0,h,n) %定义算法,其中f 为待解方程组, x0是初始自变量,y0是初始函数 值,h 是步长,n 为步数 if nargin<5 n=100; %如果输入参数个数小于5,则步数 n=100 end r=size(y0);r=r(1); %返回初始输出矩阵的行列数,并将 值赋给r(1) s=size(x0);s=s(1); %返回初始输入矩阵的行列数,并 将值赋给s(1) r=r+s; T=zeros(r,n+1); T(:,1)=[y0;x0]; for t=2:n+1 %以下是具体的求解过程 k1=feval(f,T(1:r-1,t-1)); k2=feval(f,[k1*(h/2)+T(1:r-1,t-1);x0+h/2]); k3=feval(f,[k2*(h/2)+T(1:r-1,t-1);x0+h/2]); k4=feval(f,[k3*h+T(1:r-1,t-1);x0+h]); x0=x0+h; T(:,t)=[T(1:r-1,t-1)+(k1+k2*2+k3*2+k4)*(h/6);x0]; end

数值分析第二章小结

第2章线性方程组的解法 --------学习小结 一、本章学习体会 通过本章知识的学习我首先了解到求解线性方程组的方法可分为两类:直接法和迭代法。计算机虽然运行速度很快,但面对运算量超级多的问题,计算机还是需要很长的时间进行运算,所以,确定快捷精确的求解线性方程组的方法是非常必要的。 本章分为四个小节,其中前两节Gauss消去法和直接三角分解法因为由之前《线性代数》学习的一定功底,学习起来还较为简单,加之王老师可是的讲解与习题测试,对这一部分有了较好的掌握。第三节矩阵的条件数与病态方程组,我 Ax 的系数矩阵A与左端向量b的元素往往是通首先了解到的是线性方程组b 过观测或计算而得到,因而会带有误差。即使原始数据是精确的,但存放到计算机后由于受字长的限制也会变为近似值。所以当A和b有微小变化时,即使求解过程精确进行,所得的解相对于原方程组也可能会产生很大的相对误差。对于本节的学习掌握的不是很好,虽然在课后习题中对课堂知识有了一定的巩固,但整体感觉没有很好的掌握它。第四节的迭代法,初次接触迭代法,了解到迭代法就是构造一个无线的向量序列,使他的极限是方程组的解向量。迭代法应考虑收敛性与精度控制的问题。三种迭代方法的基本思想我已经掌握了,但是在matlab 的编程中还存在很大的问题。 在本节的学习中我认为我最大的问题还是程序的编写。通过这段时间的练习,虽然掌握了一些编写方法和技巧。相比于第一章是对其的应用熟练了不少,但在程序编写上还存在很多问题。希望在以后的学习中能尽快熟练掌握它,充分发挥它强大的作用。 二、本章知识梳理 2.1、Gauss消去法(次重点) Gauss消去法基本思想:由消元和回代两个过程组成。 a(k=1,2,```,n-1)均不为零的充分必要条件定理顺序Gauss消去法的前n-1个主元素)(k kk 是方程组的系数矩阵A的前n-1个顺序主子式

数值分析学习心得体会.doc

数值分析学习感想 一个学期的数值分析,在老师的带领下,让我对这门课程有了深刻的理解和感悟。这门 课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处 理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微 分,求解线性方程组的解等,使数学理论更加有实际意义。 数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有 了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误 差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误 差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在 别的地方没有什么,但是在数学领域,一个小的误差,就很容易有不好的后果,而学习了数 值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出 的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。 数值分析不只在知识上传授了我很多,在思想上也对我有很大的影响,他给了我很多数 学思想,很多思考的角度,在看待问题的方面上,多方位的去思考,并从别的例子上举一反三。像其中所讲的插值法,在先学习了拉格朗日插值法后,对其理解透彻,了解了其中 的原理和思想,再学习之后的牛顿插值以及三次样条插值等等,都很容易的融会贯通,很容 易的就理解了其中所想,他们的中心思想并没有多大的变化,但是使用的方式却是不同的, 这不仅可以学习到其中心内容,还可以去学习他们的思考方式,每个不同的思考方式带来的 都是不同的算法。而在看待问题上,不同的思考方式总是可以快速的全方位的去看透彻问题, 从而知道如何去解决。 在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的不懈讲解下, 我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自 己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触 到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。 计算132 2013014923 张霖篇二:数值分析学习报告 数值分析学习心得报告 班级:11级软工一班 姓名: * * * 学号: 20117610*** 指导老师:* * * 学习数值分析的心得体会 无意中的一次选择,让我接触了数值分析。 作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学 和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比 较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。 学习数值分析,我们首先得知道一个软件——matlab。matrix laboratory,即矩阵实验 室,是math work公司推出的一套高效率的数值计算和可视化软件。它是当今科学界最具影 响力、也是最具活力的软件,它起源于矩阵运算,并高速发展成计算机语言。它的优点是强 大的科学运算、灵活的程序设计流程、高质量的图形可视化与界面、便捷的与其他程序和语 言接口。 根据上网搜集到的资料,你就会发现matlab有许多优点: 首先,编程简单使用方便。到目前为止,我已经学过c语言,机器语言,java语言,这

学习数值分析的经验

数值分析实验的经验、感受、收获、建议班级:计算131 学号:2012014302 姓名:曾欢欢数值分析实验主要就是学习MATLAB的使用以及对数值分析类容的应用,可以使学生更加理解和记忆数值分析学得类容,也巩固了MATLAB的学习,有利于以后这个软件我们的使用。在做实验中,我们需要具备较好的编程能力、明白MATLAB软件的使用以及掌握数值分析的思想,才能让我们独立自主的完成该作业,如果是上述能力有限的同学,需要借助MATLAB的书以及网络来完成实验。 数值分析实验对于我来说还是有一定难度,所以我课下先复习了MATLAB的使用方法以及编写程序的基本类容,借助互联网和同学老师资源完成了数值分析得实验的内容。在实验书写中,我复习了各种知识,所以我认为这门课程是有必要且是有用处的,特别是需要处理大量实验数据的人员,很有必要深入了解学习它,这样在以后的工作学习里面就减少了很多计算问题也提高了实验结果的精确度。 学习数值分析的经验、感受、收获、建议 数值分析的内容包括插值与逼近,数值微分与数值积分,非线性方程与线性方程组的数值解法,矩阵的特征值与特征向量计算,常微分方程数值解等。 首先我们必须明白数值分析的用途。通常所学的其他数学类学科都是由公式定理开始,从研究他们的定义,性质再到证明与应用。但实际上,尤其是工程,物理,化学等其它具体的学科。往往我们拿到

手的只是通过实验得到的数据。如果是验证性试验,需要代回到公式进行分析,验证。但往往更多面对的是研究性或试探性试验,无具体公式定理可代。那就必须通过插值,拟合等计算方法进行数据处理以得到一个相对可用的一般公式。还有许多计算公式理论上非常复杂,在工程中不实用,所以必须根据实际情况把它转化成多项式近似表示。学习数值分析,不应盲目记公式,因为公事通常很长且很乏味。 其次,应从公式所面临的问题以及用途出发。比如插值方法,就是就是把实验所得的数据看成是公式的解,由这些解反推出一个近似公式,可以具有局部一般性。再比如说拟合,在插值的基础上考虑实验误差,通过拟合能将误差尽可能缩小,之后目的也是得到一个具有一定条件下的一般性的公式。。 建议学习本门课程要结合知识与实际,比如在物理实验里面很多地方有用到线性拟合的知识,这样我们可以对数值分析得类容加以巩固,在学习中不能死记硬背,应该理解记忆,以及结合列题加以记忆和应用,只能在题里面我们才能去应用它。对于本学期的期末考试,由于本人注重了理论知识的记忆和应用,但是在复习过程中自己没有亲自去导致计算能力较弱,在考试过程中一道大题的计算耗费了大量的时间且错了,虽然解答题目的步骤和思想应该是没有问题的,所以同学们除了掌握基本的理论知识以外,得加强计算能力的锻炼,避免不必要的浪费时间以及精力,导致不愉快的结果。

数值分析实验报告总结

数值分析实验报告总结 随着电子计算机的普及与发展,科学计算已成为现代科 学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。 算法算法是指由基本算术运算及运算顺序的规定构成的完 整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。 误差 计算机的计算结果通常是近似的,因此算法必有误差, 并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表 第三章泛函分析泛函分析概要 泛函分析是研究“函数的函数”、函数空间和它们之间 变换的一门较新的数学分支,隶属分析数学。它以各种学科

如果 a 是相容范数,且任何满足 为具体背景,在集合的基础上,把客观世界中的研究对象抽 范数 范数,是具有“长度”概念的函数。在线性代数、泛函 分析及相关的数学领域,泛函是一个函数,其为矢量空间内 的所有矢量赋予非零的正长度或大小。这里以 Cn 空间为例, Rn 空间类似。最常用的范数就是 P-范数。那么 当P 取1, 2 ,s 的时候分别是以下几种最简单的情形: 其中2-范数就是通常意义下的距离。 对于这些范数有以下不等式: 1 < n1/2 另外,若p 和q 是赫德尔共轭指标,即 1/p+1/q=1 么有赫德尔不等式: II = ||xH*y| 当p=q=2时就是柯西-许瓦兹不等式 般来讲矩阵范数除了正定性,齐次性和三角不等式之 矩阵范数通常也称为相容范数。 象为元素和空间。女口:距离空间,赋范线性空间, 内积空间。 1-范数: 1= x1 + x2 +?+ xn 2-范数: x 2=1/2 8 -范数: 8 =max oo ,那 外,还规定其必须满足相容性: 所以

数值分析小论文论文

对于牛顿型方法的改进 对于函数f(x),假定已给出极小点* x 的一个较好的近似点0x ,则在0x 处将f(x)泰勒展开到二次项,得二次函数()x φ。按极值条件'()0x φ=得()x φ的极小点,用它作为*x 的第一个近似点。然后再在1x 处进行泰勒展开,并求得第二个近似点2x 。如此迭代下去,得到一维情况下的牛顿迭代公式'k 1''k ()() k k f x x x f x +=- (k=0,1,2,…) 对于多元函数f(x),设k x 为f(x)极小点*x 的一个近似值,在k x 处将f(x)进行泰勒展开,保留到二次项得21()()()()()()()()2T T k k k k k k f x x f x f x x x x x f x x x ?≈=+?-+ -?-, 式中 2()k f x ?—f(x)在k x 处的海赛矩阵。 设1k x +为()x ?的极小点,它作为f(x)极小点*x 的下一个近似点,根据极值必要条件 1()0k x ?+?=即21()()()k k k k f x f x x x +?+?-得1 21()()k k k k x x f x f x -+??=-???? (k=0,1,2,…) 上式为多元函数求极值的牛顿法迭代公式。 对于二次函数,f(x)的上述泰勒展开式不是近似的,而是精确地。海赛矩阵是一个常矩阵,其中各元素均为常数。因此,无论从任何点出发,只需一步就可以找到极小点。因为若某一迭代法能使二次型函数在有限次迭代内达到极小点,则称此迭代方法是二次收敛的,因此牛顿方法是二次收敛的。 从牛顿法迭代公式的推演中可以看到,迭代点的位置是按照极值条件确定的,其中并未含有沿下降方向搜寻的概念。因此对于非二次函数,如果采用上述牛顿法公式,有时会使函数值上升,即出现1>k k f f +(x )(x ) 现象。为此对上述牛顿方法进行改进,引入数学规划法的概念。 如果把1 2()()k k k d f x f x -??=-????看作是一个搜索方向,则采取如下的迭代公式 121()()k k k k k k k k x x a d x a f x f x -+??=-=-???? (k=0,1,2,…) 式中 k a —沿牛顿方向进行以为搜索的最佳步长k a 可通过如下极小化过程求得1()()()min k k k k k k k a f x f x a d f x a d +=+=+。由于此种方法每次迭代都在牛顿方向上进 行一维搜索,这就避免了迭代后函数值上升的现象,从而保持了牛顿法二次收敛的特性,而对初始点的选取并没有苛刻的要求。其计算步骤如下:

数值分析试题及答案汇总

数值分析试题及答案汇 总 TTA standardization office【TTA 5AB- TTAK 08- TTA 2C】

数值分析试题 一、填空题(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 。

数值分析报告

计算方法实验报告 实验:求解线性方程组的两种方法班级:工力13-02 姓名:刘志强 学号:02130857

实验内容 分别用列主元素法和LU 分解法编程求解,并对A 或b 做微小改动后观察结果 1 -1 2 -1 0 6 1 0 1 1 0 4 2 1 3 -4 4 X = -2 0 -1 1 -1 4 5 3 7 8 2 3 1 实验原理 列主元素法 方法说明(以4阶为例): ????? ???????=?????????????????????????n n nn n n n n b b b x x x a a a a a a a a a 21212122221 11211 第1步消元——在增广矩阵(A ,b )第一列中找到绝对值最大的元素,将其所在行与第一行交换,再对(A ,b )做初等行变换使原方程组转化为如下形式: ????? ???????=?????????????????????????*******0***0***0****4321x x x x 第2步消元——在增广矩阵(A ,b )中的第二列中(从第二行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A ,b )做初等行变换使原方程组转化为: ????? ???????=?????????????????????????******00**00***0****4321x x x x 第3步消元——在增广矩阵(A ,b )中的第三列中(从第三行开始)找到绝对值最大的元素,将其所在行与第二行交换,再对(A ,b )做初等行变换使原方程组转化为: ????? ???????=?????????????????????????*****000**00***0****4321x x x x 按x 4 → x 3→ x 2→ x 1 的顺序回代求解出方程组的解。

数值分析课程课程设计汇总

课 程 设 计 我再也回不到大二了, 大学是那么短暂 设计题目 数值分析 学生姓名 李飞吾 学 号 x x x x x x x x 专业班级 信息计x x x x x 班 指导教师 设 计 题 目 共15题如下 成绩

数值分析课程设计 1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。由于旅途的颠簸,大家都很疲惫,很快就入睡了。第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?(15621) 试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题 解:算法分析:解该问题主要使用递推算法,关于椰子数目的变化规律可以设起初的椰子数为0p ,第一至五次猴子在夜里藏椰子后,椰子的数目分别为01234,,,,p p p p p 再设最后每个人分得x 个椰子,由题: 14 (1)5 k k p p +=- (k=0,1,2,3,4)51(1)5 x p =- 所以551p x =+,11k k p p +=+利用逆向递推方法求解 15 1,4 k k p p +=+ (k=0,1,2,3,4) MATLAB 代码: n=input('n= '); n= 15621 for x=1:n p=5*x+1; for k=1:5 p=5*p/4+1; end if p==fix(p), break end end disp([x,p]) 1.2 设,1 5n n x I dx x =+? (1)从0I 尽可能精确的近似值出发,利用递推公式: 11 5(1,2,20)n n I I n n -=-+= 计算机从1I 到20I 的近似值; (2)从30I 较粗糙的估计值出发,用递推公式:

数值分析考试复习总结

1 误差 相对误差和绝对误差得概念 例题: 当用数值计算方法求解一个实际的物理运动过程时, 一般要经历哪几个阶段? 在哪些阶段将有哪些误差产生? 答: 实际问题-数学模型-数值方法-计算结果 在这个过程中存在一下几种误差: 建立数学模型过程中产生:模型误差 参数误差 选用数值方法产生:截断误差 计算过程产生:舍入误差 传播误差 6.设937.0=a 关于精确数x 有3位有效数字,估计a 的相对误差. 对于x x f -=1)(,估计)(a f 对于)(x f 的误差和相对误差. 解 a 的相对误差:由于 31021|)(|-?≤-≤a x x E . x a x x E r -=)(, 221018 1 10921)(--?=?≤ x E r . (1Th ) )(a f 对于)(x f 的误差和相对误差. |11||)(|a x f E ---==()25 .0210113 21??≤ -+---a x x a =310- 33 104110|)(|--?=-≤a f E r . □ 2有效数字 基本原则:1 两个很接近的数字不做减法: 2: 不用很小得数做分母(不用很大的数做分子) 例题: 4.改变下列表达式使计算结果比较精确: (1) ;1||,11211<<+--+x x x x 对 (2) ;1,11>>- - +x x x x x 对 (3) 1||,0,cos 1<<≠-x x x x 对. 解 (1) )21()122x x x ++. (2) ) 11(2x x x x x -++. (3) x x x x x x x cos 1sin )cos 1(sin cos 12+≈ +=-. □

相关文档
最新文档