第一篇:数值分析第五章学习小结
第五章
插值与逼近
--------学习小结
姓名
班级
学号
一、本章学习体会
本章为插值与逼近,插值与逼近都是指用某个简单的函数在满足一定的条件下,在某个范围内近似代替另一个较为复杂或者解析表达式未给出的函数,以便于简化对后者的各种计算或揭示后者的某些性质。通过对本章的学习熟练的掌握了几种常用的正交多项式的应用问题并且学会了利用递推关系式和一些性质,可以快速的写出最佳平方逼近多项式,还有就是曲线拟合,通过本章的学习能够熟练的使用最小二乘法去拟合所给的数据,并且能够通过构造正交多项式去拟合所给的数据。在本章的学习过程中也遇到不少问题,比如本章知识点多,公式多,在做题时容易张冠李戴,其次对正交多项式的性质理解不够透彻,这些问题在做题时就能够体现出来,所以说通过做题才能发现问题所在。
二、本章知识梳理
5.1 Lagrange插值和Newton插值:
xxj①Lagrange插值基函数lk(x),k0,1,2,n;
j0xkxjnxxj②Lagrange插值多项式pn(x)yklk(x)[]yk;
xxk0k0j0kjnnjkjkn③节点选取原则:居中原则;
④Lagrange插值多项式的特点:直观对称,易建立插值多项式;但无继承性。Newton插值主要是差商的理解与应用,在做题过程中首先应根据已知条件构造差商表,然后根据差商表构造插值多项式;
⑤截断误差的求取: f(n1)()f(n1)()Rn(x)w(n1)(x),并且f[x0,x1,...,xn]w(n1)(x),计算时一(n1)!(n1)!般采用截断误差的估计式:Rn(x)5.2 Hermite插值
插值公式:Hmn1(x)pn(x)qm(x)wn1(x),其中pn(x)应根据已知条件,使用Newton插值法构造Newton插值多项式,最后根据已知条件求解
Mn1wn1(x)。
(n1)!Hmn1(x)。5.3 样条插值
①定义在[a,b]上对应与分划的K次样条函数总可表示为:
1n1s(x)ajxcj(xxj)k,所以要想确定s(x),需要n+k个条件;
k!j0j1jk②三次样条插值问题
(1)第一种边界条件:
'''''''' y0f''(x0),ynf''(xn)并且s''(x0)y0,s''(xn)yn(2)第二种边界条件:
'''' y0f'(x0),ynf'(xn)并且s'(x0)y0,s'(xn)yn(3)第三种边界条件:
s'(x0)s'(xn),s''(x0)s''(xn)
5.5正交多项式
b(f,g)(x)f(x)g(x)dx
a学习本节要熟练掌握权函数和内积的一些性质 1.正交多项式的概念与性质
①权函数:(x)
b②内积:(f,g)(x)f(x)g(x)dx
ab③正交:(f,g)(x)f(x)g(x)dx0
a0,ij④正交函数系:(i,j)(x)i(x)j(x)dx
ai0,ija
克莱姆-施密特正交化方法:
b0(x)1kk1k1(x)xakjj(x)(k0,1,)
j0k1(x,j)其中a(j0,1,k)kj(,)jj2.几种常用的正交多项式 ①Legendre多项式
L0(x)11dn2nLn(x)nn[(x1)],n1,2,2n!dx
②Chebyshev多项式
Tn(x)cos(narccosx),1x1
③Laguerre多项式
dn(xnex)Un(x)e,n0,1,dxnx
④Hermite多项式
dn(ex)nHn(x)(1)e,n0,1,dxnx22
5.6 函数的最佳平方逼近
①最佳平方逼近概念(f,f)min(f,f)
Hn②最佳平方逼近的条件(fp,j)0 ③ 最佳平方逼近元素是唯一的 ④最佳平方逼近元素的求法p(x)**c(x),求系数c*kkk0n*k ⑤最佳平方逼近误差(fp,fp)
5.6.4曲线拟合
①曲线拟合的最小二乘法②拟合曲线的求法
[(x)y][(x)y]min*2iiiii0Di0mm2
Dspan{0(x),1(x),n(x)},nm
(x)c*jj(x)D *j0nA[0,1,n],c[c0,c1,cn]T
法方程为ATAcATy
还可以通过构造正交多项式作为基函数组,然后去拟合给定的数据,此种方法不用求解矩阵,而是直接求解方程解出相应的系数。
三、本章思考题
问题1:在使用最小二乘法拟合所给数据时,是不是多项式的次数越高,拟合的精度越高?
解:拟合的精度可以用误差平方和来描述,通常来说,如果能用一次项公式来拟合的,用二次公式或三次公式来拟合则方差会更小;同理,能用二次公式来拟合的,用三次公式则方差会更小。因此如果能用这三种之一来拟合的话,则通常是三次公式的方差蕞小。当然如果三种拟合方式的均方差都小于预先所设定的范围时,可以随便选一种,通常是选越简单的式子(比如一次公式),如果方差都比较大,那说明这几种拟合方式都不太好,需寻找更合适的拟合。
问题2:插值与拟合的异同?
解:相同点:都需要根据已知数据构造函数,可使用得到的函数来计算未知点的函数值。不同点:插值需要构造的函数正好通过各插值点,拟合则不要求,只要均方差最小即可,对实验数据进行拟合时,函数形式通常已知,仅需要拟合参数值,拟合是给定了空间中的一些点,找到一个已知形式未知参数的连续曲面来最大限度地逼近这些点,而插值是找到一 个连续曲面来穿过这些点。
四、本章测验题
1问题描述:定义内积:(f,g)f(x)g(x)dx,试在H1span1,x,x2中寻求
0对于f(x)x的最佳平方逼近元素p(x)。321解:0(x)1,1(x)x,2(x)x,(0,0)1dx1,(1,1)x2dx
30021111(2,2)xdx,(2,0)x2dx
530041111(2,1)xdx,(1,0)xdx
4200311222(0,f)xdx,(1,f)x2dx,(2,f)x2dx
57900011213121314123c05216412,c1,c2 .c1,解的:c010535747c122591321517所求的最佳平方逼近的元素为:
p(x)2164xx2 105357
第二篇:数值分析第六章学习小结
第六章
数值积分
--------学习小结
姓名
班级
学号
一、本章学习体会
本章主要讲授了数值积分的一些求积公式及各种求积公式的代数精度,重点应掌握插值型求积公式,什么样的求积公式可以被称为插值型求积公式,Newton-Cotes求积公式及其收敛性与数值稳定性,复化求积公式和高斯求积公式,在本章的学习过程中也遇到不少问题,比如本章知识点多,公式多,在做题时容易张冠李戴,其次对Newton-Cotes求积公式的收敛性与数值稳定性理解不够透彻,处理一个实际问题时,不知道选取哪一种求积公式,来达到最精确的结果。
二、本章知识梳理
6.1求积公式及其代数精度
代数精度的概念:如果求积公式(6.1)当f(x)为任何次数不高于m的多项式时都成为等式,而当f(x)为某个m+1次多项式时(6.1)不能成为等式,则称求积公式(6.1)具有m次代数精度。6.2插值型求积公式
(1)求积公式: Rnabf(n1)()n1(x)dx
(n1)!(2)重要的定理:n+1个节点的插值型求积公式至少具有n次代数度。(3)求积系数:
k0nAkba
6.3Newton-Cotes求积公式及其收敛性与数值稳定性
(n)f(xk)(1)公式:f(x)dxf(xk)(ba)cka(n)kk0k0bnnnhn2n(n1)(2)截断误差:Rnf()(ttj)dt
(n1)!0j0(3)重要的定理:当n为偶数时,n+1个节点的Newton-Cotes求积公式至少具有n+1次代数精度。
(4)常用的Newton-Cotes求积公式
n=1 梯形公式:babaf(x)dx[f(a)f(b)]
2(ba)3f(),(a,b),具有一次精度。
余项:R112n=2 Simpson公式:f(x)dxabbaab[f(a)4f()f(b)] 62(ba)5(4)f(),(a,b),具有三次精度。余项:R228806.4复化求积法
(1)复化梯形公式:
截断误差: ban1hf(x)dx[f(a)f(b)2f(akh)]2k1
RTba2hf(),[a,b]12
(2)复化Simpson公式:
bamm1hf(x)dx[f(a)f(b)4f(x2k1)2f(x2k)]3k1k1
截断误差:
Rsba4(4)hf(),[a,b]180
6.5Gauss型求积公式
(1)定义:若n个节点的插值型求积公式(6.23)具有2n-1 次代数精度,则称它为Gauss型求积公式。
(2)定理:n个节点的 Gauss型求积公式的代数精度为2n-1。
(3)定理:设{gk(x),k0,1,}是区间[a,b]上带权(x)的正交多项式系,则求积公式(6.23)、式(6.24)是Gauss型求积公式的充分必要条件是它的求积节点是n次正交多项式gn(x)的n个零点。(4)求积系数 公式:
Akb(x)gn(x)(xk)(xxk)gnadx,k1,2,,n
性质:1.Ak0,k1,2,,n
2.k0Ak(x)dxanb
(5)求积公式的构造 第一步:找高斯点
2g(x)1,g(x)xa,g(x)xbxc,由正交性确定121)待定系数法:设0待定系数a,b,c,…..2)利用递推公式 第二步:确定求积系数Ak 1)解线性方程组 2)Ak(x)lk(x)dx,k1,2,,nab
lk(x)
i0iknxxi,k1,2,,nxkxi
三、本章思考题
1.插值型求积公式有何特点?
答:插值型求积公式主要用于计算定积分的值。数学推导中用拉格朗日插值函数代替被积函数,其表现形式是有限个函数值的线性组合,而组合系数恰好是拉格朗日插值基函数的定积分。(n+1)个结点的插值型求积公式的代数精度一般不超过n。用数值求积公式计算定积分可以克服牛顿—莱布尼兹公式的弱点,但是数值计算结果带有误差。在用数值求积公式设计算法时,一般要考虑到误差估计,还应该使所求的数据结果的误差得到控制。2.复化求积公式的误差是如何估计的?
答:对于复化梯形公式可根据其截断误差公式,首先求得hba,然后求nf(x)的二阶倒数,判断f(x)的二阶倒数的单调性,然后在积分区间上求得f(x)的二阶倒数的最大值就可以估计复化求积公式的误差,利用估计出的复化求积公式的误差还可以求得用复化梯形公式近似求解某一积分的有效数字有多少位。对于复化Simpson公式方法同估计复化梯形公式的误差,只是截断误差公式有所改变,此时需求出f(x)的四阶倒数然后判断其最大值。
四、本章测验题
1问题:如果用复化梯形公式计算定积分exdx,要求截断误差不超过
00.5104,试问n至少取多少?
解:复化的梯形公式的截断误差为:RTba3''hf 12RT1ba3hmaxf''(),而maxf''()max(ex)1,h
0x10x10x1n12将以上各式代入RTba3hmaxf''()可得: 0x112ba314 hmaxf''()0.51020x11212nRT解上述方程得n40.8,取n41,所以n至少取41。
第三篇:数值分析学习心得体会
数值分析学习感想
一个学期的数值分析,在老师的带领下,让我对这门课程有了深刻的理解和感悟。这门课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微分,求解线性方程组的解等,使数学理论更加有实际意义。
数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在别的地方没有什么,但是在数学领域,一个小的误差,就很容易有不好的后果,而学习了数值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。
数值分析不只在知识上传授了我很多,在思想上也对我有很大的影响,他给了我很多数学思想,很多思考的角度,在看待问题的方面上,多方位的去思考,并从别的例子上举一反
三。像其中所讲的插值法,在先学习了拉格朗日插值法后,对其理解透彻,了解了其中的原理和思想,再学习之后的牛顿插值以及三次样条插值等等,都很容易的融会贯通,很容易的就理解了其中所想,他们的中心思想并没有多大的变化,但是使用的方式却是不同的,这不仅可以学习到其中心内容,还可以去学习他们的思考方式,每个不同的思考方式带来的都是不同的算法。而在看待问题上,不同的思考方式总是可以快速的全方位的去看透彻问题,从而知道如何去解决。
在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的不懈讲解下,我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。
计算132 2013014923 张霖篇二:数值分析学习报告
数值分析学习心得报告
班级:11级软工一班
姓名: * * * 学号: 20117610*** 指导老师:* * * 学习数值分析的心得体会
无意中的一次选择,让我接触了数值分析。
作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。学习数值分析,我们首先得知道一个软件——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,但大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。
其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。
在最后,我想说的是,谢谢郭老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。篇三:数值分析学习总结感想
数值分析学习感想 摘要:数值分析主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合。随着科学技术迅速发展,运用数学方法解决工程技术领域中的实际问题,已经得到普遍重视。
作为这学期的考试课,在我最初接触这门课时,我感到了很困难,因为无论是高数还是线性代数我都放下了很久,而我感觉数值分析是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,但是在老师不断地引导和讲授下,我逐渐对其产生了兴趣。在老师的反复讲解下,我发现我被它吸引了,因为它不仅是单纯的学科,还教会了我许多做人生活的道理。
首先,数值分析这门课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微分,求解线性方程组的解等,使数学理论更加有实际意义。
数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在别的地方没有什么,但是在数学领域,一个小的误差,就会有很大的差别,而学习了数值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。数值分析中,“以点带面”的思想也深深影响了我。这里的“点”是根本,是主线。在第二章学习插值法的时候是以拉格朗日插值、牛顿插值为主线,然后逐渐展开介绍艾尔米特插值、分段低次插值和三次样条插值。在学习中只要将研究拉格朗日插值和牛顿插值的基本原理、基本方法理解透彻,其他的插值方法就基本掌握了。第四章处理数值积分和数值微分的基本方法是逼近法,只要将函数逼近的基本思想理解好,掌握起来就会得心应手;第六第七章是以迭代法为主线来求解线性方程组和非线性方程组的。在学习过程组只要将迭代法的相关原理掌
握好,便能掌握第六第七章。总的来数,数值分析所涉及到数学中很多学科的知识,内容比较复杂,因此在学习过程中一定要将基本原理、基本算法理解透,然后再逐步推广。同样在生活中每件事情都有它的主线,只要抓住这条主线再难的事情也会迎刃而解。
还比如“等价转化”的思想,这里的“等价”不是完全意义上的“等价”,是指在转化前后转化的主体主要特征值没有变。插值法的思想就是抓住已知函数或者已知点的几个主要特征,用另一个具备主要特征的简单函数来代替原函数或拟合已知数据点。实际生活中也有很多类似情况,已知事件或者面临的情况往往是复杂的,常常不能直接用数学方法直接研究,我们可以做的就是抓住已经事件的主要特征转化为数学模型来建立。
在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的耐心讲解下,我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。
希望在将来,通过反复的实践能加深我的理解,在明年的这个时候我能有更多的感悟。同时,因为十五周的学习时间太短加上我的基础薄弱,我决定明年继续来旁听老师的课程,达到进一步学习,加深理解的目的。
数值分析课程论文:
数值分析学习心得感悟
姓名:崔俊毅
学号:2015210211 专业:防灾减灾专硕
院系:土木工程学院篇四:数值分析学习报告
数值分析学习心得报告
班级:姓名:
学号: ************ *** *********** 学习数值分析的心得体会
数值分析是一门利用计算机求解数学问题数值解的课程,有很强的理论性和实践性,无意中的一次选择,让我接触了数值分析。随着科学技术的发展,提出了大量复杂的数值计算问题,在建立电子计算机成为数值计算的主要工具以后,它以数字计算机求解数学问题的理论和方法为研究对象。有可靠的理论分析,要有数值实验,并对计算的结果进行误差分析。数值分析的主要内容包括插值法,函数逼近,曲线拟和,数值积分,数值微分,解线性方程组的直接方法,解线性方程组的迭代法,非线性方程求根,常微分方程的数值解法。
作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。学习数值分析,我们首先得知道一个软件——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,但大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。
数值分析是研究分析用计算机求解数学计算问题的数值计算方法及其理论的学科,是数学的一个分支,它以数字计算机求解数学问题的理论和方法为研究对象。在科学研究和工程技术中有许多问题可归结为求解方程组的问题。本文主要讨论了插值法求函数,解线性方程组的求解方法,非线性方程组的解法及微分方程的解法,并通过在电流回路和单晶硅提拉过程中分析应用。进一步体现了数值分析的广泛应用,实际上由于误差的存在,一些问题只能求得近似解。对于良态方程组,只要求解方法稳定,即可得到比较满意的计算结果。但对于病态方程组,即使使用稳定性好的算法求解也未必理想,还需进一步的研究。总之,数值分析可以通过计算方法进行一种比较完善的构造,使之更普遍化,能够有举一反三的思想,能够解决一些实际中难解的问题,应用到各个领域。
在最后,我想说的是,谢谢老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。篇五:数值分析期末总结论文,程序界面 数值计算方法论文
论文名称:数值计算方法期末总结
学 号:
姓 名:完成时间:
摘要:数值计算方法是数学的一个重要分支,以用计算机求解数学问题的理论和方法为研究对象。本文是我对本学期数值分析这门课程中所学到的内容以及所作的工作的总结。通过一学期的学习,我深入学习了线性方程组的解法,非线性方程的求根方法,矩阵特征值与特征向量的计算,函数的插值方法,最佳平方逼近,数值积分与数值微分,常微分方程初值问题的数值解法。通过陶老师课堂上的讲解和课下的上机训练,对以上各个章节的算法有了更深刻的体会。最后做了程序的演示界面,使得程序看起来清晰明了,便于查看与修改。通过本学期的学习。
关键词:数值计算方法、演示界面
第一章 前言
随着电子计算机的普及与发展,科学计算已成为现代科学的重要组成部分,因而数值计算方法的内容也愈来愈广泛和丰富。通过本学期的学习,主要掌握了一些数值方法的基本原理、具体算法,并通过编程在计算机上来实现这些算法。
第二章 基本概念 2.1算法
算法是指由基本算术运算及运算顺序的规定构成的完整的解题步骤。算法可以使用框图、算法语言、数学语言、自然语言来进行描述。具有的特征:正确性、有穷性、适用范围广、运算工作量少、使用资源少、逻辑结构简单、便于实现、计算结果可靠。2.2 误差
计算机的计算结果通常是近似的,因此算法必有误差,并且应能估计误差。误差是指近似值与真正值之差。绝对误差是指近似值与真正值之差或差的绝对值;相对误差:是指近似值与真正值之比或比的绝对值。误差来源见表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,那么有赫德尔不等式:
|
一般来讲矩阵范数除了正定性,齐次性和三角不等式之外,还规定其必须满足相容性:║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个解。高斯列主元消元法则是在高斯消元法的基础上提(k?1)(k?1)a?0akkkk出的先选主元再消元的方法,避免了时消元无法进行或者是当的绝(k?1)a(i?k?1,k?2,ik对值与其下方的元素,n)的绝对值之比很小时,引起计算机
上溢或产生很大的舍入误差而导致所求出的解失真的问题。lu分解法是将矩阵a用一个下三角矩阵和一个上三角矩阵之积来表示,即a?lu,然后由a?lu,ax?b,得lux?b,将线性方程组的求解化为对两个三角形方程组ly?b和ux?y的求解,由此可解出线性方程组(1.1)的n个解x1,x2,xn。这两种求解线性方程组的方法在处理单个线性方程组时没有差别,只是方法的不同,但在处理系数矩阵a相同,而右端项不同的一组线性方程组时,lu分解法就有明显的优势,因为它是将系数矩阵a和右端项b分开处理的,这样就可以只进行一次分解。例如,求解线性方程组ax?bi,i?1,2,m,用高斯消元法求解的计算量 1313mnn?mn2 大约为3,而用lu分解求解的计算量约为3,后者计算量显然小很多。但是lu分解法同样有可能由于ujj的绝对值很小而引起计算机上溢或产生很大的舍入误差而导致所求出的解失真。因此提出了结合高斯列主元消元的lu分解法。
我们采用的计算方法是先将a矩阵进行高斯列主元消元,然后再计算相应的l矩阵和u矩阵(u矩阵就是经过n-1步消元后的a矩阵)。但要注意,第k步消元时会产生mik(i?k?1,k?2,n),从而可以得到l矩阵的第k列元素,但在下一步消元前选取列主元时可能会交换方程的位置,因此与方程位置对应的l矩阵中的元素也要交换位置。4.2非线性方程组的求根方法
本章学习的二分法简单迭代法、newton迭代法等方法,代表着求解非线性方程所采用的两类方法。大范围收敛方法的初值x0选取没有多少限制,只要在含根区间任选其一即可,二分法就是这类方法。局部收敛法要求x0要充分靠近根x*才能保证收敛,以简单迭代法为基础,newton迭代法为代表的各类迭代法都属这类方法。4.2.1newton迭代法
牛顿迭代法的构造过程是这样的:设x0是f(x)?0的一个近似根,将f(x)在 f(x0)f(x)?f(x0)?f(x0)(x?x0)?(x?x0)2?x0处作taylor展开得2!,若取其
x?x?f(x)/f(x0),然后再对x1做f(x)100前两项来近似代替,得近似方程的根 f上述同样处理,继续下去,一般若(xk)?0,则可以构造出迭代格式 xk?1?xk?f(xk)f(xk)此格式称为牛顿迭代格式,用它来求解f(x)?0的方法称为牛顿迭代法。牛顿迭代法的几何意义是用f(x)在xk处的切线与x轴得交点作为下一个迭代点xk?1的。由于这一特点,牛顿迭代法也常称为切线法。
牛顿迭代法虽然收敛很快,但它通常过于依赖初值x0的选取,如果x0选择不当,将导致迭代发散或产生无限循环。
第四篇:数值分析学习总结感想
数值分析学习感想
一个学期的数值分析,在老师的带领下,让我对这门课程有了深刻的理解和感悟。这门课程是一个十分重视算法和原理的学科,同时它能够将人的思维引入数学思考的模式,在处理问题的时候,可以合理适当的提出方案和假设。他的内容贴近实际,像数值分析,数值微分,求解线性方程组的解等,使数学理论更加有实际意义。
数值分析在给我们的知识上,有很大一部分都对我有很大的帮助,让我的生活和学习有了更加方便以及科学的方法。像第一章就讲的误差,在现实生活中,也许没有太过于注意误差,所以对误差的看法有些轻视,但在学习了这一章之后,在老师的讲解下,了解到这些误差看似小,实则影响很大,更如后面所讲的余项,那些差别总是让人很容易就出错,也许在别的地方没有什么,但是在数学领域,一个小的误差,就很容易有不好的后果,而学习了数值分析的内容,很容易就可以将误差锁定在一个很小的范围内,在这一范围内再逼近,得出的近似值要准确的多,而在最开始的计算中,误差越小,对后面的影响越小,这无疑是好的。
数值分析不只在知识上传授了我很多,在思想上也对我有很大的影响,他给了我很多数学思想,很多思考的角度,在看待问题的方面上,多方位的去思考,并从别的例子上举一反三。像其中所讲的插值法,在先学习了拉格朗日插值法后,对其理解透彻,了解了其中的原理和思想,再学习之后的牛顿插值以及三次样条插值等等,都很容易的融会贯通,很容易的就理解了其中所想,他们的中心思想并没有多大的变化,但是使用的方式却是不同的,这不仅可以学习到其中心内容,还可以去学习他们的思考方式,每个不同的思考方式带来的都是不同的算法。而在看待问题上,不同的思考方式总是可以快速的全方位的去看透彻问题,从而知道如何去解决。
在不断的学习中,知识在不断的获取,能力在不断的提升,同时在老师的不懈讲解下,我逐渐的发现数值分析所涵盖的知识面特别的广泛,而我所需要学习的地方也更加的多,自己的不足也在不断的体现,我知道这只是我刚刚接触到了数学的那一角,在以后我还会接触到更多,而这求知的欲望也在不停的驱赶我,学习的越多,对今后的生活才会有更大的帮助。
计算132
2013014923
张霖
第五篇:数值分析学习报告
数值分析学习心得报告
班级:11级软工一班
姓名:***
学号: 20117610***
指导老师:***
学习数值分析的心得体会
无意中的一次选择,让我接触了数值分析。
作为这学期的选修课,我从内心深处来讲,数值分析真的有点难。感觉它是在高等数学和线性代数的基础上,又加深了探讨。虽然这节课很难,我学的不是很好,但我依然对它比较感兴趣。下面就具体说说我的学习体会,让那些感兴趣的同学有个参考。
学习数值分析,我们首先得知道一个软件——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=[12;34];B=[132;246];C=kron(A,B)则程序会给出相应的答案
C =
132264
2464812
3964128
6121881624
这就充分的考验了我们的实际动手能力,当然运用一般的计算方法能算出结果,但相对来说没有用它来运算节省时间,其他算法又很不方便。
上面介绍了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,但大家不要以为有了这个就万事大吉了,反而,从另一个方面也对我们大学生提出了两个要求——充实的课外基础和良好的英语基础。在现代,几乎所有好的软件都是来自国外,假如你不会外语,想学好是非常难的,即使高考中的英语比重降低了,但我们依旧得学好。这样我们才能走得更远。
其实想要学习好一们语言,不能只靠老师,靠朋友,关键是自己。每个人内心深处都是有抵触意识的,不可能把老师的所有都学到。其实,我发现学习数值分析这门课,不光是学习一种语言,一些知识,更重要的是学习一种方法,一种学习软件的方法,还有学习的态度。
在最后,我想说的是,谢谢郭老师的辛勤付出,我们每个学生都会看在眼里记在心里的,谢谢您。