数值计算方法_最佳平方逼近

数值计算方法_最佳平方逼近
数值计算方法_最佳平方逼近

25

数值分析—最佳逼近

━基于MATLAB的实现与分析

§1 引 言

所谓函数最佳逼近就是从指定的一类简单的函数中寻找一个和给定的函数“最贴近”的函数,从几何(空间)的角度看,函数最佳逼近就是从指定的一类简单的函数(点的集合)中寻找一个与给定的函数(定点)距离最短的函数(点)。

由于在函数空间中可以定义不同的距离,不同意义下的距离度量定义了不同的逼近准则。

令P 表示指定的一类简单的函数集合 1、函数最佳一致逼近: 基于的距离度量如下

()[

]

()()d f P f x P x x a b

,,=-∈max (1)

逼近准则:

()[]

()()x P x f P f d b a x P P -=∈P ∈P

∈,max min ,min (2)

2、函数最均方逼近: 基于的距离度量如下

()()()[][]

d f P f x P x dx a

b

,=

-?2

12

(3)

逼近准则

()=P

∈P f d P ,min min

P ∈P

()()[][]f x P x dx a

b

-?2

12

(4)

如果给定的是函数在若干点处的函数值:()()x f x i i ,,i =0,1,, n ,那么还有称为:

3、最小二乘逼近: 基于的距离度量如下

()()()[]

d f P f x P x i i i n

,=-????

?

?=∑01

2

(5)

逼近准则

()=P

∈P f d P ,min min P ∈P ()()[]f x P x i i i n

-????

?

?=∑01

2

(6)

26

4、插值逼近,其逼近准则为:

()()i i x f x P =, ()n i x P ,,,

, 10=P ∈ (7)

对于函数最佳逼近问题而言,用于逼近的简单的函数集合一般选取次数不超过n 次的多项式函数全体

()()()(){}

P n k k x P x P x k n ==≤deg (8)

即用多项式函数逼近给定的函数,其原因在于只需对自变量做加法、减法和乘法运算就能得到函数值是多项式函数显著的特点之一,因此,从计算的角度来说多项式函数是最简单的。

§2 函数最均方逼近

函数最佳均方逼近准则

min P ∈P

()()[][

]

f x P x dx

a b

-?2

1

2

(9)

与下面的准则等价

min P ∈P ()()[]??

????-?b a dx x P x f 2 (10)

为了讨论问题时方便,在下面的讨论中我们采用准则(10)。

一般人们习惯于把一个n 次多项式写成n x x ,,,1 的线性组合,即

()n n n n n a x a x a x a x P ++++=--1110 (11)

的形式,但是,这种表现形式在有些场合并不好,为说明这一点,我们先采用式(11)。当我们选取n 次多项式做最佳均方逼近时,积分

()()[]?-b a n dx x P x f 2

(12) 的结果依赖于n 次多项式()x P n 系数k a ,n k ,,1,0 =,即

()()()[]?-=Φb a n n dx x P x f a a a 2

10,,, (13)

所以最佳平方逼近多项式()x P n *必须满足如下条件:

27

()?∑=??

?

???-=?Φ?-=-b a k n n i i n i k dx x x f x a a 020, n k ,,1,0 = (14) 即

()?∑?-=--=?????

?b a k n i n

i b a k n i n dx x x f a dx x x 0, n k ,,1,0 = (15)

由式(15)可知,最佳平方逼近多项式()x P n *的系数*

k a ,n k ,,1,0 =,是1+n 阶线性方程组(15)的解,但是线性方程组(15)通常是病态方程组,例如,当0=a ,1=b 时,其系数矩阵就是著名的Hilbert (病态)矩阵。 为避免解病态方程组,需要引入

函数内积的概念:对于()()[]b a C x g x f ,,∈?,()[]b a C x ,0∈<ρ,定义内积如下:

()()()()?=b

a dx x g x f x g f ρ, (16)

由内积诱导的范数(距离)

()()()0,2

122

f d dx x f x f

b

a =??

????=?ρ (17)

正交的概念:

()()()()()()()()

????

?≠===?x g x f x g x f f dx x g x f x g f b

a

,2

2

ρ (18)

基于函数的内积与正交的概念,如果我们能找到一组正交多项式()x k ?,

n k ,,1,0 =:

()()()()()()()()?????≠===?

x x x x dx x x x j i j i i b

a

j i j

i

???????ρ??0

,2

2 (19)

并且将n 次多项式()x P n 表示成这组正交多项式的线性组合:

()()∑==n

i i i n x b x P 0? (20)

那么采用内积的记号,这时正规方程组(15)

()()()()()

()()

()

()()()()???

???? ??=????

?

?? ?????????

?????n n n n n n n n f f f b b b ?????????????????????,,,,,,,,,,,,1010101110101000

(21)

就具有下面的特殊形式:

28

()()

()()()()???

?

??? ??=??????? ??????????????n n n n f f f b b b ?????????,,,,00

0,00

,10101100

(22)

正交多项式的构造:

()()()()()()

x P b x P a x x P a x x P x P n n n n n 211

101----=-==, n k ,,1,0 = (23)

其中

()()()()()()()()()()()()()()()()?

??

?----------------==

==b a

n n b

a

n n n n n n n b

a

n n b

a n n n n n n n dx

x P x P x dx

x P x xP x P P P xP b dx

x P x P x dx

x P x xP x P P P xP a 2221222111111111,,,,ρρρρ, ,3,2=n (24)

利用区间平移和伸缩变换:

()b a t a

b x ---=

21

(25) ()()22a b x a b t ++-=

(26)

可以原来定义在区间[]]1,1-上的正交多项式族转化成区间[]b a ,上的正交多项式族。

Legendre 多项式及其应用

数值计算方法试题及答案

【 数值计算方法试题一 一、 填空题(每空1分,共17分) 1、如果用二分法求方程043=-+x x 在区间]2,1[内的根精确到三位小数,需对分( )次。 2、迭代格式)2(2 1-+=+k k k x x x α局部收敛的充分条件是α取值在( )。 3、已知?????≤≤+-+-+-≤≤=31)1()1()1(211 0)(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 4x l x x k k n k k ( )。 ; 5、设1326)(2 47+++=x x x x f 和节点,,2,1,0,2/ ==k k x k 则=],,,[10n x x x f 和=?07 f 。 6、5个节点的牛顿-柯特斯求积公式的代数精度为 ,5个节点的求积公式最高代数精度为 。 7、{}∞ =0)(k k x ?是区间]1,0[上权函数x x =)(ρ的最高项系数为1的正交多项式族,其中1)(0=x ?,则?= 1 4)(dx x x ? 。 8、给定方程组?? ?=+-=-2211 21b 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 是 阶方法。

北师大网络教育 数值分析 期末试卷含答案

注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考北师大网络教育——数值分析——期末考试卷与答案 一.填空题(本大题共4小题,每小题4分,共16分) 1.设有节点012,,x x x ,其对应的函数()y f x =的值分别为012,,y y y ,则二次拉格朗日插值基函数0()l x 为 。 2.设()2f x x =,则()f x 关于节点0120,1,3x x x ===的二阶向前差分为 。 3.设110111011A -????=--????-??,233x ?? ??=?? ???? ,则1A = ,1x = 。 4. 1n +个节点的高斯求积公式的代数精确度为 。 二.简答题(本大题共3小题,每小题8分,共24分) 1. 哪种线性方程组可用平方根法求解?为什么说平方根法计算稳定? 2. 什么是不动点迭代法?()x ?满足什么条件才能保证不动点存在和不动点迭代序列收敛于()x ?的不动点? 3. 设n 阶矩阵A 具有n 个特征值且满足123n λλλλ>≥≥≥ ,请简单说明求解矩阵A 的主特征值和特征向量的算法及流程。 三.求一个次数不高于3的多项式()3P x ,满足下列插值条件: i x 1 2 3 i y 2 4 12 i y ' 3 并估计误差。(10分) 四.试用1,2,4n =的牛顿-科特斯求积公式计算定积分1 01 1I dx x =+? 。(10分) 五.用Newton 法求()cos 0f x x x =-=的近似解。(10分) 六.试用Doolittle 分解法求解方程组:

注:1、教师命题时题目之间不留空白; 2、考生不得在试题纸上答题,教师只批阅答题册正面部分,若考 12325610413191963630 x x x -?????? ??????-=?????? ??????----?????? (10分) 七.请写出雅可比迭代法求解线性方程组1231231 23202324 812231530 x x x x x x x x x ++=?? ++=??-+=? 的迭代格式,并 判断其是否收敛?(10分) 八.就初值问题0(0)y y y y λ'=??=?考察欧拉显式格式的收敛性。(10分)

数值计算方法学习心得

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

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

数值分析实验报告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 姓名:万轩 实验二插值法

数值计算方法试题及答案

数值计算方法试题一 一、填空题(每空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、若是阶非奇异阵,则必存在单位下三角阵和上三角阵,使唯一成立。()

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

油藏数值模拟学习心得

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

太原理工大学数值计算方法实验报告

本科实验报告 课程名称:计算机数值方法 实验项目:方程求根、线性方程组的直接解 法、线性方程组的迭代解法、代数插值和最 小二乘拟合多项式 实验地点:行勉楼 专业班级: ******** 学号: ********* 学生姓名: ******** 指导教师:李誌,崔冬华 2016年 4 月 8 日

y = x*x*x + 4 * x*x - 10; return y; } float Calculate(float a,float b) { c = (a + b) / 2; n++; if (GetY(c) == 0 || ((b - a) / 2) < 0.000005) { cout << c <<"为方程的解"<< endl; return 0; } if (GetY(a)*GetY(c) < 0) { return Calculate(a,c); } if (GetY(c)*GetY(b)< 0) { return Calculate(c,b); } } }; int main() { cout << "方程组为:f(x)=x^3+4x^2-10=0" << endl; float a, b; Text text; text.Getab(); a = text.a; b = text.b; text.Calculate(a, b); return 0; } 2.割线法: // 方程求根(割线法).cpp : 定义控制台应用程序的入口点。// #include "stdafx.h" #include"iostream"

心得体会 使用不同的方法,可以不同程度的求得方程的解,通过二分法计算的程序实现更加了解二分法的特点,二分法过程简单,程序容易实现,但该方法收敛比较慢一般用于求根的初始近似值,不同的方法速度不同。面对一个复杂的问题,要学会简化处理步骤,分步骤一点一点的循序处理,只有这样,才能高效的解决一个复杂问题。

数值分析期末考试复习题及其答案.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)(

数值分析心得体会

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

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

数值计算实验报告

(此文档为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);

数值分析习题与答案

第一章绪论 习题一 1.设x>0,x*的相对误差为δ,求f(x)=ln x的误差限。解:求lnx的误差极限就是求f(x)=lnx的误差限,由公式(1. 2.4)有 已知x*的相对误差满足,而 ,故 即 2.下列各数都是经过四舍五入得到的近似值,试指出它们有几位有效数字,并给出其误差限与相对误差限。 解:直接根据定义和式(1.2.2)(1.2.3)则得 有5位有效数字,其误差限,相对误差限 有2位有效数字, 有5位有效数字, 3.下列公式如何才比较准确? (1) (2)

解:要使计算较准确,主要是避免两相近数相减,故应变换所给公式。 (1) (2) 4.近似数x*=0.0310,是 3 位有数数字。 5.计算取,利用:式计算误差最小。 四个选项: 第二、三章插值与函数逼近 习题二、三 1. 给定的数值表 用线性插值与二次插值计算ln0.54的近似值并估计误差限. 解:仍可使用n=1及n=2的Lagrange插值或Newton插值,并应用误差估计(5.8)。线性插值时,用0.5及0.6两点,用Newton插值 误差限,因

,故 二次插值时,用0.5,0.6,0.7三点,作二次Newton插值 误差限 ,故 2. 在-4≤x≤4上给出的等距节点函数表,若用二次插值法求的近似值,要使误差不超过,函数表的步长h 应取多少? 解:用误差估计式(5.8), 令 因 得 3. 若,求和.

解:由均差与导数关系 于是 4. 若互异,求 的值,这里p≤n+1. 解:,由均差对称性 可知当有 而当P=n+1时 于是得 5. 求证. 解:解:只要按差分定义直接展开得 6. 已知的函数表

数值分析实验报告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、已知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-

数值计算(分析)实.docx

数值计算 ( 分析 ) 实验报告 2

南昌航空大学数学与信息科学学院 实验报告 课程名称:《数值计算方法》 实验名称:曲线拟合 实验类型:验证性■综合性□设计性□ 实验室名称:数学实验室 班级学号:09072113 学生姓名:邢宪平 任课教师(教师签名): 成绩:

一、实验目的 实验目的:实验目的:了解函数逼近与曲线拟合的基本原理,并且运用 MATLAB 软件进行实践操作。 二、实验原理、程序框图、程序代码等 实验题目: 题目 1:试分别用抛物线y a bx cx2和指数曲线 y ae bx拟合下列数据 x i1 1.52 2.53 3.54 4.5 y i33.479.50122.65159.05189.15214.15238.65252.50 x i5 5.56 6.577.58 y i267.55280.50296.65301.40310.40318.15325.15 并比较两个拟合函数的优劣。 题目 2:已知实验数据如下: x i 1.02.5 3.5 4.0 y i 3.81.5026.0 33.0 试用形如 y a bx 2的抛物线进行最小二乘拟合。 实验原理: 1、逼近方式 2n,

V( f , P n ) || F P n || max | f ( x) P n ( x) | 为 f (x) 与 P n ( x) | 在 [a, b] 上的偏差。 a x b 若存在 P n * (x) H n ,使得 V( f , P n * ) || f P n * || inf max | f ( x) P n ( x) | 则称 P n * ( x) P n H n a x b 是 f (x) 在 [ a, b] 上的最佳一致逼近多项式。 假设 f (x) C[ a, b] 及 C[ a, b] 的一个子集 span{ 0 (x), 存在 S * (x) ,使 || f (x) S * (x) ||2 2 S( x) ||22 b min || f (x) min S( x ) S (x ) a 1( x),,... n (x)} ,若 ( x)[ f (x) S( x)] 2 dx 则称 S * (x) 是 f (x) 在子集 C[ a, b] 中的最佳平方逼近数。 2、曲线拟合 上述函数的最佳平方逼近法中, 若 f (x) 是以一组离散点集的形式给出的, 即给出了函数 f (x) 在一些离 散点上的值 {( x i , y i ), i 0,1,..., m } ,则该方法就是所说的曲线 拟合。取 ( f , S n ) || f S n ||2 m yi ] 而 S( x) a 0 0 ( x) a 1 1( x) ... a n n ( x) ,这就 V 2 2 i 0 是最小二乘逼近。 由上可知,最小二乘逼近即求多元函数 I (a 0 ,a 1,...a n ) || f S n ||22 的最小值问题。由取最小值的必要条 ( ) ( ) ... ( ) a 0 ( y, ) 件,可得法方程 ( ) ( ) ... ( n ) a 1 ( y, ) .................. ( n ) ( n ) ... ( n n ) a n ( y, n ) 实际计算时,为了方便,通常取 span{ 0 ( x), 1 (x),,... n (x)} 为简单多项式, 如 span{1, x, x 2 ,..., x n } ,得 到 n 次拟合多项式,但当 n 较大时,方程组往往是

数值分析作业答案

数值分析作业答案 插值法 1、当x=1,-1,2时,f(x)=0,-3,4,求f(x)的二次插值多项式。 (1)用单项式基底。 (2)用Lagrange插值基底。 (3)用Newton基底。 证明三种方法得到的多项式是相同的。 解:(1)用单项式基底 设多项式为: , 所以: 所以f(x)的二次插值多项式为: (2)用Lagrange插值基底 Lagrange插值多项式为: 所以f(x)的二次插值多项式为: (3) 用Newton基底: 均差表如下: xk f(xk) 一阶均差二阶均差 1 0 -1 -3 3/2 2 4 7/ 3 5/6 Newton插值多项式为: 所以f(x)的二次插值多项式为: 由以上计算可知,三种方法得到的多项式是相同的。 6、在上给出的等距节点函数表,若用二次插值求ex的近似值,要使截断误差不超过10-6,问使用函数表的步长h应取多少? 解:以xi-1,xi,xi+1为插值节点多项式的截断误差,则有 式中 令得 插值点个数

是奇数,故实际可采用的函数值表步长 8、,求及。 解:由均差的性质可知,均差与导数有如下关系: 所以有: 15、证明两点三次Hermite插值余项是 并由此求出分段三次Hermite插值的误差限。 证明:利用[xk,xk+1]上两点三次Hermite插值条件 知有二重零点xk和k+1。设 确定函数k(x): 当或xk+1时k(x)取任何有限值均可; 当时,,构造关于变量t的函数 显然有 在[xk,x][x,xk+1]上对g(x)使用Rolle定理,存在及使得 在,,上对使用Rolle定理,存在,和使得 再依次对和使用Rolle定理,知至少存在使得 而,将代入,得到 推导过程表明依赖于及x 综合以上过程有: 确定误差限: 记为f(x)在[a,b]上基于等距节点的分段三次Hermite插值函数。在区间[xk,xk+1]上有 而最值 进而得误差估计: 16、求一个次数不高于4次的多项式,使它满足,,。

数值计算方法期末考试题

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

单项选择题答案 1.A 2.D 3.D 4.C 5.B 二、填空题(每小题3分,共15分) 1. 设, 则 , . 2. 一阶均差 3. 已知时,科茨系数 ,那么 4. 因为方程 在区间 上满 足 ,所以 在区间内有根。 5. 取步长,用欧拉法解初值问题 的计算公 式 . 填空题答案 230.5 1.5 x x -=-T X )4,3,2(-==1||||X 2||||X =()01,f x x = 3n =()()() 33301213,88C C C === () 3 3C =()420 x f x x =-+=[]1,2()0 f x =0.1h =()211y y y x y ?'=+?? ?=?

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

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