当前位置:文档之家› 数值计算复习资料

数值计算复习资料

数值计算复习资料
数值计算复习资料

第一章 绪论

§1 绪论:数值分析的研究内容 §2 误差的来源和分类 §3 误差的表示 §4 误差的传播

§5 算法设计的若干原则

一、误差的分类(绝对误差,相对误差)

例1-1 设 x *=2.18是由精确值x 经过四舍五入得到的近似值。问 x 的绝对误差限ε和相对误差限η各是多少?

解:因为 x =x * ±0.005 ,所以绝对误差限为ε=0.005 相对误差限为

二、有效数字

定义 设数 x 的近似值可以表示为

其中 m 是整数,αi (i=1,2, …, n ) 是0到9 中的一个数字,而α1 ≠ 0. 如果其绝对误差限为 则称近似数 x* 具有 n 位有效数字。

结论:通过四舍五入原则求得的近似数,其有效数字就是从末尾到第一位非零数字之间的所有数字。

例1-2 下列近似数是通过四舍五入的方法得到的,试判定它们各有几位有效数字: x 1* =87540,x 2*=8754×10, x 3*=0.00345, x 4*= 0.3450 ×10-2

已知 有5位有效数字。同理可以写出 可以得出 x 2 , x 3 , x 4 各具有4、3、4 位有效数字。

例1-3 已知 e =2.718281828……, 试判断下面两个近似数各有几位有效数字? 解:由于

%23.018

.2005

.0*

≈=

=

x ε

η

m n x 10.021*

?±=ααα *1

102

m n

x x --≤?1112x x *-≤510.8754010x *=?而5

511102

1-*

?≤-x x 所以1221102x x *-≤?520.875410x *=?54221102x x *--≤?5331102x x *--≤?230.34510x *-=?-23331102x x *--≤?6441102x x *--≤?240.345010x *-=?24441102

x x *---≤?718281.2,718282.221==e e

e 1有7位有效数字。同理:

e 2 只有6位有效数字。 三、算法设计的若干原则

? 1:两个很接近的数字不做减法:

? 2: 不用很小得数做分母(不用很大的数做分子)

练习: 求方程 x 2-56x +1=0 的两个根,使它们至少具有四位有效数字

?

第二章 插值与拟合

1、Lagrange 插值多项式,Newton 插值多项式的构造与插值余项估计,及证明过程。

2、 Hermite 插值多项式的构造与插值余项估计,

带导数条件的插值多项式的构造方法,基于承袭性的算法,基函数法, 重节点差商表的构造;

3、分段插值及三次样条插值的构造

4、最小二乘拟合

? 掌握Lagrange 插值多项式的构造方法及具体结构 ? 掌握Lagrange 插值多项式误差分析方法和证明方法 ? 掌握Newton 插值多项式的形式及误差 ? 掌握差商表的构造过程 关于离散数据:

Newton 插值多项式:

所以 7

161102

110210000005.00000001.0--?=?=≤=- e e

i x i

y 0x 1x 0y 1y n

x n

y :

)

,(),

()!

1()

()(1)1(b a x n f x R n n n ∈+=++ξωξ∑∏

=≠=????

? ??--=n j j i

j i

n j

i i n y x x x x x L 0

0)(6

11021

0000005.00000001.0-?=

≤=- e e 1

110

2718282.0718282.2?==e 61521021

1021000005.00000008.0--?=?=<=- e e ]

,[)()()(1000n x x f x x x f x N -+=

例1-3 已知f (x ) 的五组数据(1,0)、(2,2)、(3,12)、(4,42)、(5,116),求 N 4 (x )。如果再增加一个节点(6,282),求出N 5(x ),并计算 N 4(1.5)、N 5(1.5). 解:先由前五组数据列差商表 1 0 2 2 2

3 12 10

4 4 42 30 10 2

5 11

6 74 22 4 0.5

6 282 166 46 8 1 0.1如果,再增加一点(6, 282), 就在上表中增加一行计算差商 由Newton 公式的递推式得到:

得到: 1. 高次插值的Runge 现象,应如何避免?

2.分段性插值有何优缺点?误差估计?(插值节点的选择)

3. Hermite 插值的构造, 误差估计

4.三次样条函数的定义、构造过程

5.数据拟合的最小二乘法(可化为直线拟合的非线性 拟合的处理方法)

二、典型例题分析

例 1. 令x 0=0, x 1=1,写出y (x )=e-x 的一次插值多项式L 1(x ) ,并估计插值误差.(P55,t14题)

)4)(3)(2)(1(5.0)3)(2)(1(2)2)(1(4)1(20)(4

----+---+--+-+=x x x x x x x x x x x N )5)(4)(3)(2)(1(1.0)()(45

-----+=x x x x x x N x N )

5.1()5.1(5N f ≈)55.1)(45.1)(35.1)(25.1)(15.1(1.0)5.1(4-----+=N 328125.028125.0+=609375

.0=

第三章数值积分

?插值型积分公式

?Newton-Cotes 型求积公式

?复化求积公式

?Romberg算法

?Gauss 型求积公式

?数值微分

(§1 ,2)需要掌握:

数值分析上机作业

数值分析上机实验报告 选题:曲线拟合的最小二乘法 指导老师: 专业: 学号: 姓名:

课题八曲线拟合的最小二乘法 一、问题提出 从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。 在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量y 与时间t 的拟合曲线。 二、要求 1、用最小二乘法进行曲线拟合; 2、近似解析表达式为()33221t a t a t a t ++=?; 3、打印出拟合函数()t ?,并打印出()j t ?与()j t y 的误差,12,,2,1 =j ; 4、另外选取一个近似表达式,尝试拟合效果的比较; 5、*绘制出曲线拟合图*。 三、目的和意义 1、掌握曲线拟合的最小二乘法; 2、最小二乘法亦可用于解超定线代数方程组; 3、探索拟合函数的选择与拟合精度间的关系。 四、计算公式 对于给定的测量数据(x i ,f i )(i=1,2,…,n ),设函数分布为 ∑==m j j j x a x y 0)()(? 特别的,取)(x j ?为多项式 j j x x =)(? (j=0, 1,…,m )

则根据最小二乘法原理,可以构造泛函 ∑∑==-=n i m j i j j i m x a f a a a H 1 10))((),,,(? 令 0=??k a H (k=0, 1,…,m ) 则可以得到法方程 ???? ??????? ?=????????????????????????),(),(),(),(),(),(),(),(),(),(),(),(1010101111000100m m m m m m m m f f f a a a ????????????????????? 求该解方程组,则可以得到解m a a a ,,,10 ,因此可得到数据的最小二乘解 ∑=≈m j j j x a x f 0)()(? 曲线拟合:实际工作中,变量间未必都有线性关系,如服药后血药浓度与时间的关系;疾病疗效与疗程长短的关系;毒物剂量与致死率的关系等常呈曲线关系。曲线拟合是指选择适当的曲线类型来拟合观测数据,并用拟合的曲线方程分析两变量间的关系。 五、结构程序设计 在程序结构方面主要是按照顺序结构进行设计,在进行曲线的拟合时,为了进行比较,在程序设计中,直接调用了最小二乘法的拟合函数polyfit ,并且依次调用了plot 、figure 、hold on 函数进行图象的绘制,最后调用了一个绝对值函数abs 用于计算拟合函数与原有数据的误差,进行拟合效果的比较。

数值计算方法学习心得

数值计算方法学习心得 ------一个代码的方法是很重要,一个算法的思想也很重要,但 在我看来,更重要的是解决问题的方法,就像爱因斯坦说的内容比 思维本身更重要。 我上去讲的那次其实做了挺充分的准备,程序的运行,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 姓名:万轩 实验二插值法

数值分析上机题目详解

第一章 一、题目 设∑ =-= N N j S 2 j 2 1 1,其精确值为)11 123(21+--N N 。 1) 编制按从大到小的顺序1 1 13112122 2-+??+-+-=N S N ,计算S N 的通用程序。 2) 编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 3) 按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 N=input('Please Input an N (N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); Sn1=single(0); for a=2:N; Sn1=Sn1+1/(a^2-1); end Sn2=single(0); for a=2:N; Sn2=Sn2+1/((N-a+2)^2-1); end fprintf('The value of Sn (N=%d)\n',N); fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2); disp('____________________________________________________')

三、结果 从结果可以看出有效位数是6位。 感想:可以得出,算法对误差的传播有一定的影响,在计算时选一种好的算法可以使结果更为精确。从以上的结果可以看到从大到小的顺序导致大数吃小数的现象,容易产生较大的误差,求和运算从小数到大数所得到的结果才比较准确。

数值分析上机作业

昆明理工大学工科研究生《数值分析》上机实验 学院:材料科学与工程学院 专业:材料物理与化学 学号:2011230024 姓名: 郑录 任课教师:胡杰

P277-E1 1.已知矩阵A= 10787 7565 86109 75910 ?? ?? ?? ?? ?? ??,B= 23456 44567 03678 00289 00010 ?? ?? ?? ?? ?? ?? ?? ?? ,错误!未找到引用源。 = 11/21/31/41/51/6 1/21/31/41/51/61/7 1/31/41/51/61/71/8 1/41/51/61/71/81/9 1/51/61/71/81/91/10 1/61/71/81/91/101/11?????????????????? (1)用MA TLAB函数“eig”求矩阵全部特征值。 (2)用基本QR算法求全部特征值(可用MA TLAB函数“qr”实现矩阵的QR分解)。解:MA TLAB程序如下: 求矩阵A的特征值: clear; A=[10 7 8 7;7 5 6 5;8 6 10 9;7 5 9 10]; E=eig(A) 输出结果: 求矩阵B的特征值: clear; B=[2 3 4 5 6;4 4 5 6 7;0 3 6 7 8;0 0 2 8 9;0 0 0 1 0]; E=eig(B) 输出结果:

求矩阵错误!未找到引用源。的特征值: clear; 错误!未找到引用源。=[1 1/2 1/3 1/4 1/5 1/6; 1/2 1/3 1/4 1/5 1/6 1/7; 1/3 1/4 1/5 1/6 1/7 1/8; 1/4 1/5 1/6 1/7 1/8 1/9;1/5 1/6 1/7 1/8 1/9 1/10; 1/6 1/7 1/8 1/9 1/10 1/11]; E=eig(错误!未找到引用源。) 输出结果: (2)A= 10 7877565861097 5 9 10 第一步:A0=hess(A);[Q0,R0]=qr(A0);A1=R0*Q0 返回得到: 第二部:[Q1,R1]=qr(A1);A2=R1*Q1

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

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

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

数值计算方法I上机实验考试题

数值计算方法I 上机实验考试题(两题任选一题) 1.小型火箭初始质量为900千克,其中包括600千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生30000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数为0.4(千克/米).重力加速度取9.8米/秒2. A. 建立火箭升空过程的数学模型(微分方程); B. 求引擎关闭瞬间火箭的高度、速度、加速度,及火箭到达最高点的时间和高度. 2.小型火箭初始质量为1200千克,其中包括900千克燃料。火箭竖直向上发射时燃料以15千克/秒的速率燃烧掉,由此产生40000牛顿的恒定推力.当燃料用尽时引擎关闭。设火箭上升的整个过程中,空气阻力与速度平方成正比,比例系数记作k ,火箭升空过程的数学模型为 0)0(,0,01222==≤≤-+?? ? ??-==t dt dx x t t mg T dt dx k dt x d m 其中)(t x 为火箭在时刻t 的高度,m =1200-15t 为火箭在时刻t 的质量,T (=30000牛顿)为推力,g (=9.8米/秒2)为重力加速度, t 1 (=900/15=60秒)为引擎关闭时刻. 今测得一组数据如下(t ~时间(秒),x ~高度(米),v ~速度(米/秒)): 现有两种估计比例系数k 的方法: 1.用每一个数据(t,x,v )计算一个k 的估计值(共11个),再用它们来估计k 。 2.用这组数据拟合一个k . 请你分别用这两种方法给出k 的估计值,对方法进行评价,并且回答,能否认为空气阻力系数k=0.5(说明理由).

《数值计算方法》上机实验报告

《数值计算方法》上机实验报告华北电力大学 实验名称数值il?算方法》上机实验课程名称数值计算方法专业班级:电力实08学生姓名:李超然学号:200801001008 成绩: 指导教师:郝育黔老师实验日期:2010年04月华北电力大学实验报告数值计算方法上机实验报吿一. 各算法的算法原理及计算机程序框图1、牛顿法求解非线性方程 *对于非线性方程,若已知根的一个近似值,将在处展开成一阶 xxfx ()0, fx ()xkk 泰勒公式 "f 0 / 2 八八,fxfxfxxxxx 0 0 0 0 0 kkkk2! 忽略高次项,有 ,fxfxfxxx 0 ()()(),,, kkk 右端是直线方程,用这个直线方程来近似非线性方程。将非线性方程的 **根代入,即fx ()0, X ,* fxfxxx 0 0 0 0, ,, kkk fx 0 fx 0 0,

解出 fX 0 *k XX,, k' fx 0 k 水将右端取为,则是比更接近于的近似值,即xxxxk, Ik, Ik fx ()k 八XX, Ikk* fx()k 这就是牛顿迭代公式。 ,2,计算机程序框图:,见, ,3,输入变量、输出变量说明: X输入变量:迭代初值,迭代精度,迭代最大次数,\0 输出变量:当前迭代次数,当前迭代值xkl ,4,具体算例及求解结果: 2/16 华北电力大学实验报吿 开始 读入 l>k /fx()0?,0 fx 0 Oxx,,01* fx ()0 XX,,,?10 kk, ,1,kN, ?xx, 10 输出迭代输出X输出奇异标志1失败标志

,3,输入变量、输出变量说明: 结束 例:导出计算的牛顿迭代公式,并il ?算。(课本P39例2-16) 115cc (0), 求解结果: 10. 750000 10.723837 10. 723805 10. 723805 2、列主元素消去法求解线性方程组,1,算法原理: 高斯消去法是利用现行方程组初等变换中的一种变换,即用一个不为零的数乘 -个 方程后加只另一个方程,使方程组变成同解的上三角方程组,然后再自下而上 对上三角 3/16 华北电力大学实验报告方程组求解。 列选主元是当高斯消元到第步时,从列的以下(包括)的各元素中选出绝 aakkkkkk 对值最大的,然后通过行交换将其交换到的位置上。交换系数矩阵中的 两行(包括常ekk 数项),只相当于两个方程的位置交换了,因此,列选主元不影响求解的结 ,2,计算机程序框图:,见下页, 输入变量:系数矩阵元素,常向量元素baiji 输出变量:解向量元素bbb,,12n

东南大学数值分析上机作业汇总

东南大学数值分析上机作业 汇总 -标准化文件发布号:(9456-EUATWK-MWUB-WUNN-INNUL-DDQTY-KII

数值分析上机报告 院系: 学号: 姓名:

目录 作业1、舍入误差与有效数 (1) 1、函数文件cxdd.m (1) 2、函数文件cddx.m (1) 3、两种方法有效位数对比 (1) 4、心得 (2) 作业2、Newton迭代法 (2) 1、通用程序函数文件 (3) 2、局部收敛性 (4) (1)最大δ值文件 (4) (2)验证局部收敛性 (4) 3、心得 (6) 作业3、列主元素Gauss消去法 (7) 1、列主元Gauss消去法的通用程序 (7) 2、解题中线性方程组 (7) 3、心得 (9) 作业4、三次样条插值函数 (10) 1、第一型三次样条插值函数通用程序: (10) 2、数据输入及计算结果 (12)

作业1、舍入误差与有效数 设∑ =-=N j N j S 2 2 11 ,其精确值为?? ? ??---1112321N N . (1)编制按从小到大的顺序1 1 131121222-? ??+-+-=N S N ,计算N S 的通用程序; (2)编制按从大到小的顺序()1 21 11111222-???+--+-=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算642101010,,S S S ,并指出有效位数; (4)通过本上机你明白了什么? 程序: 1、函数文件cxdd.m function S=cxdd(N) S=0; i=2.0; while (i<=N) S=S+1.0/(i*i-1); i=i+1; end script 运行结果(省略>>): S=cxdd(80) S= 0.737577 2、函数文件cddx.m function S=cddx (N) S=0; for i=N:-1:2 S=S+1/(i*i-1); end script 运行结果(省略>>): S=cddx(80) S= 0.737577 3、两种方法有效位数对比

数值分析实验报告总结

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

如果 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 ,那 外,还规定其必须满足相容性: 所以

(完整版)哈工大-数值分析上机实验报告

实验报告一 题目:非线性方程求解 摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。 前言:(目的和意义) 掌握二分法与Newton法的基本原理和应用。 数学原理: 对于一个非线性方程的数值解法很多。在此介绍两种最常见的方法:二分法和Newton法。 对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b)<0,且f(x)在[a,b]内仅有一个实根x*,取区间中点c,若,则c恰为其根,否则根据f(a)f(c)<0是否成立判断根在区间[a,c]和[c,b]中的哪一个,从而得出新区间,仍称为[a,b]。重复运行计算,直至满足精度为止。这就是二分法的计算思想。

Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式 产生逼近解x*的迭代数列{x k},这就是Newton法的思想。当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。另外,若将该迭代公式改进为 其中r为要求的方程的根的重数,这就是改进的Newton法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。 程序设计: 本实验采用Matlab的M文件编写。其中待求解的方程写成function的方式,如下 function y=f(x); y=-x*x-sin(x); 写成如上形式即可,下面给出主程序。 二分法源程序: clear %%%给定求解区间 b=1.5; a=0;

%%%误差 R=1; k=0;%迭代次数初值 while (R>5e-6) ; c=(a+b)/2; if f12(a)*f12(c)>0; a=c; else b=c; end R=b-a;%求出误差 k=k+1; end x=c%给出解 Newton法及改进的Newton法源程序:clear %%%% 输入函数 f=input('请输入需要求解函数>>','s') %%%求解f(x)的导数 df=diff(f);

数值分析论文

题目:论数值分析在数学建模中的应用 学院: 机械自动化学院 专业: 机械设计及理论 学号: 学生姓名: 日期: 2011年12月5日

论数值分析在数学建模中的应用 摘要 为了满足科技发展对科学研究和工程技术人员用数学理论解决实际的能力的要求,讨论了数值分析在数学建模中的应用。数值分析不仅应用模型求解的过程中,它对模型的建立也具有较强的指导性。研究数值分析中插值拟合,解线性方程组,数值积分等方法在模型建立、求解以及误差分析中的应用,使数值分析作为一种工具更好的解决实际问题。 关键词 数值分析;数学建模;线性方程组;微分方程 the Application of Numerical Analysis in Methmetical Modeling Han Y u-tao 1 Bai Y ang 2 Tian Lu 2 Liu De-zheng 2 (1 College of Science ,Tianjin University of Commerce ,Tianjin ,300134 2 College of Science ,Tianjin University of Commerce ,Tianjin ,300134) Abstract In order to meet the technological scientific researchers who use mathematical theory to solve practical problems, the use of numerical analysis in mathematical modeling is discussed.Numerical analysis not only solve the model,but also relatively guide the model.Research on some numerical methods in numerical analysis which usually used in mathmetical modeling and error analysis will be a better way to solve practical problems. Key Words Numerical Analysis ;Mathematical Modeling; Linear Equations ;differential equation 1. 引言 数值分析主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合[1]。随着科学技术的迅速发展,运用数学方法解决科学研究和工程技术领域中的实际问题,已经得到普遍重视。数学建模是数值分析联系实际的桥梁。在数学建模过程中,无论是模型的建立还是模型的求解都要用到数值分析课程中所涉及的算法,如插值方法、最小二乘法、拟合法等,那么如何在数学建模中正确的应用数值分析内容,就成了解决实际问题的关键。 2. 数值分析在模型建立中的应用 在实际中,许多问题所研究的变量都是离散的形式,所建立的模型也是离散的。例如,对经济进行动态的分析时,一般总是根据一些计划的周期期末的指标值判断某经济计划执行的如何。有些实际问题即可建立连续模型,也可建立离散模型,但在研究中,并不能时时刻刻统计它,而是在某些特定时刻获得统计数据。例如,人口普查统计是一个时段的人口增长量,通过这个时段人口数量变化规律建立离散模型来预测未来人口。另一方面,对常见的微分方程、积分方程为了求解,往往需要将连续模型转化成离散模型。将连续模型转化成离散模型,最常用的方法就是建立差分方程。 以非负整数k 表示时间,记k x 为变量x 在时刻k 的取值,则称k k k x x x -=?+1为k x 的一阶差分,称k k k k k x x x x x +-=??=?++1222)(为k x 的二阶差分。类似课求出k x 的n 阶差分k n x ?。由k ,k x ,及k x 的差分给出的方程称为差分方程[2]。例如在研究节食与运动模型时,发现人们往往采取节食与运动方式消耗体内存储的脂肪,引起体重下降,达到减肥目的。通常制定减肥计划以周为时间单位比较方便,所以采用差分方程模型进行讨论。记第k 周末体重为)(k w ,第k 周吸收热量为)(k c ,热量转换系数α,代谢消耗系数β,在不考虑运动情况下体重变化的模型

(完整版)数值计算方法上机实习题答案

1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+-=-,从0I 的几个近似值出发,计算20I ; 解:易得:0I =ln6-ln5=0.1823, 程序为: I=0.182; for n=1:20 I=(-5)*I+1/n; end I 输出结果为:20I = -3.0666e+010 (2) 粗糙估计20I ,用n I I n n 51 5111+- =--,计算0I ; 因为 0095.05 6 0079.01020 201 020 ≈<<≈??dx x I dx x 所以取0087.0)0095.00079.0(2 1 20=+= I 程序为:I=0.0087; for n=1:20 I=(-1/5)*I+1/(5*n); end I 0I = 0.0083 (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 首先分析两种递推式的误差;设第一递推式中开始时的误差为000I I E '-=,递推过程的舍入误差不计。并记n n n I I E '-=,则有01)5(5E E E n n n -==-=-Λ。因为=20E 20020)5(I E >>-,所此递推式不可靠。而在第二种递推式中n n E E E )5 1(5110-==-=Λ,误差在缩小, 所以此递推式是可靠的。出现以上运行结果的主要原因是在构造递推式过程中,考虑误差是否得到控制, 即算法是否数值稳定。 2. 求方程0210=-+x e x 的近似根,要求4 1105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 程序:a=0;b=1.0; while abs(b-a)>5*1e-4 c=(b+a)/2;

数值计算方法上机实习题

数值计算方法上机实习题 1. 设?+=1 05dx x x I n n , (1) 由递推公式n I I n n 1 51+ -=-,从I 0=0.1824, 0=0.1823I 出发,计算20I ; (2) 20=0I ,20=10000I , 用n I I n n 51 5111+- =--,计算0I ; (3) 分析结果的可靠性及产生此现象的原因(重点分析原因)。 答:第一个算法可得出 e 0=|I 0?I 0 ?| e n =|I n ?I n ?|=5n |e 0| 易知第一个算法每一步计算都把误差放大了5倍,n 次计算后更是放大了5n 倍,可靠性低。 第二个算法可得出 e n =|I n ?I n ?| e 0=(15 )n |e n | 可以看出第二个算法每一步计算就把误差缩小5倍,n 次后缩小了5n 倍,可靠性高。

2. 求方程0210=-+x e x 的近似根,要求41105-+?<-k k x x ,并比较计算量。 (1) 在[0,1]上用二分法; 计算根与步数程序: fplot(@(x) exp(x)+10*x-2,[0,1]); grid on; syms x; f=exp(x)+10*x-2; [root,n]=EFF3(f,0,1); fprintf('root=%6.8f ,n=%d \n',root,n); 计算结果显示: root=0.09057617 ,n=11 (2) 取初值00=x ,并用迭代10 21 x k e x -=+;

(3) 加速迭代的结果; (4) 取初值00 x ,并用牛顿迭代法;

东南大学-数值分析上机题作业-MATLAB版

2015.1.9 上机作业题报告 JONMMX 2000

1.Chapter 1 1.1题目 设S N =∑1j 2?1 N j=2 ,其精确值为 )1 1 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算S N 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-= N N S N ,计算S N 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 1.2程序 1.3运行结果

1.4结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2.Chapter 2 2.1题目 (1)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321= *=*-=*x x x ○1由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收敛于根x2*。试确定尽可能大的δ。 ○2试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 2.2程序

数值计算方法总结计划复习总结提纲.docx

数值计算方法复习提纲 第一章数值计算中的误差分析 1 2.了解误差 ( 绝对误差、相对误差 ) 3.掌握算法及其稳定性,设计算法遵循的原则。 1、误差的来源 模型误差 观测误差 截断误差 舍入误差 2误差与有效数字 绝对误差E(x)=x-x * 绝对误差限x*x x* 相对误差E r (x) ( x x* ) / x ( x x* ) / x* 有效数字 x*0.a1 a2 ....a n10 m 若x x*110m n ,称x*有n位有效数字。 2 有效数字与误差关系 ( 1)m 一定时,有效数字n 越多,绝对误差限越小; ( 2)x*有 n 位有效数字,则相对误差限为E r (x)1 10 (n 1)。 2a1 选择算法应遵循的原则 1、选用数值稳定的算法,控制误差传播; 例 I n 11n x dx e x e I 0 1 1 I n1nI n1 e △ x n n! △x0 2、简化计算步骤,减少运算次数; 3、避免两个相近数相减,和接近零的数作分母;避免

第二章线性方程组的数值解法 1.了解 Gauss 消元法、主元消元法基本思想及算法; 2.掌握矩阵的三角分解,并利用三角分解求解方程组; (Doolittle 分解; Crout分解; Cholesky分解;追赶法) 3.掌握迭代法的基本思想,Jacobi 迭代法与 Gauss-Seidel 4.掌握向量与矩阵的范数及其性质, 迭代法的收敛性及其判定。 本章主要解决线性方程组求解问题,假设n 行 n 列线性方程组有唯一解,如何得到其解? a 11x 1 a 12 x 2... a 1n x n b1 a 21x 1 a 22 x 2... a 2n x n b2 ... a n1x 1 a n 2 x 2... a nn x n b n 两类方法,第一是直接解法,得到其精确解; 第二是迭代解法,得到其近似解。 一、Gauss消去法 1、顺序G auss 消去法 记方程组为: a11(1) x1a12(1) x2... a1(1n) x n b1(1) a21(1) x1a22(1) x2... a2(1n) x n b2(1) ... a n(11) x1a n(12) x2... a nn(1) x n b n(1) 消元过程: 经n-1步消元,化为上三角方程组 a11(1) x1b1(1) a 21(2) x1a22(2 ) x2b2( 2 ) ... a n(1n) x1a n(n2) x2...a nn(n ) x n b n( n ) 第k步 若a kk(k)0 ( k 1)( k) a ik(k )(k )( k 1)( k )a ik(k )( k) a ij a ij a kk(k ) a kj b i b i a kk(k )b k k 1,...n 1 i, j k 1,....,n 回代过程:

数值分析学习方法

第一章 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

数值分析上机作业1-1

数值计算方法上机题目1 1、实验1. 病态问题 实验目的: 算法有“优”与“劣”之分,问题也有“好”和“坏”之别。所谓坏问题就是问题本身的解对数据变化的比较敏感,反之属于好问题。希望读者通过本实验对此有一个初步的体会。 数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。 问题提出: 考虑一个高次的代数多项式 ∏=-= ---=20 1)()20)...(2)(1()(k k x x x x x p (E1-1) 显然该多项式的全部根为l ,2,…,20,共计20个,且每个根都是单重的(也称为简 单的)。现考虑该多项式方程的一个扰动 0)(19 =+x x p ε (E1-2) 其中ε是一个非常小的数。这相当于是对(E1-1)中19 x 的系数作一个小的扰动。我们希望比较(E1-1)和(E1-2)根的差别,从而分析方程(E1-1)的解对扰动的敏感性。 实验内容: 为了实现方便,我们先介绍两个 Matlab 函数:“roots ”和“poly ”,输入函数 u =roots (a ) 其中若变量a 存储1+n 维的向量,则该函数的输出u 为一个n 维的向量。设a 的元素依次为121,...,,+n a a a ,则输出u 的各分量是多项式方程 0...1121=++++-n n n n a x a x a x a 的全部根,而函数 b=poly(v) 的输出b 是一个n +1维变量,它是以n 维变量v 的各分量为根的多项式的系数。可见“roots ”和“Poly ”是两个互逆的运算函数. ve=zeros(1,21); ve(2)=ess; roots(poly(1:20))+ve) 上述简单的Matlab 程序便得到(E1-2)的全部根,程序中的“ess ”即是(E1-2)中的ε。 实验要求: (1)选择充分小的ess ,反复进行上述实验,记录结果的变化并分析它们。如果扰动项的系数ε很小,我们自然感觉(E1-1)和(E1-2)的解应当相差很小。计算中你有什么出乎意料的发现?表明有些解关于如此的扰动敏感性如何? (2)将方程(E1-2)中的扰动项改成18 x ε或其他形式,实验中又有怎样的现象出现?

(整理)数值分析计算方法超级总结

工程硕士《数值分析》总复习题(2011年用) [由教材中的习题、例题和历届考试题选编而成,供教师讲解和学生复习用] 一. 解答下列问题: 1)下列所取近似值有多少位有效数字( 注意根据什么? ): a) 对 e = 2.718281828459045…,取* x = 2.71828 b) 数学家祖冲之取 113355 作为π的近似值. c) 经过四舍五入得出的近似值12345,-0.001, 90.55000, 它们的有效 数字位数分别为 位, 位, 位。 2) 简述下名词: a) 截断误差 (不超过60字) b) 舍入误差 (不超过60字) c) 算法数值稳定性 (不超过60字) 3) 试推导( 按定义或利用近似公式 ): 计算3 x 时的相对误差约等于x 的相对 误差的3倍。 4) 计算球体积3 34r V π= 时,为使其相对误差不超过 0.3% ,求半径r 的相对 误差的允许范围。 5) 计算下式 341 8 )1(3)1(7)1(5)1(22345+-+---+---=x x x x x x P )( 时,为了减少乘除法次数, 通常采用什么算法? 将算式加工成什么形式? 6) 递推公式 ?????=-==- ,2,1,1102 10n y y y n n 如果取 * 041.12y y =≈= ( 三位有效数字 ) 作近似计算, 问计算到 10y 时误差为初始误差的多少倍? 这个计算过程数值稳定吗 ? 二. 插值问题: 1) 设函数 )(x f 在五个互异节点 54321,,,,x x x x x 上对应的函数值为 54321,,,,f f f f f ,根据定理,必存在唯一的次数 (A ) 的插值多项式 )(x P ,满足插值条件 ( B ) . 对此,为了构造Lagrange 插值多项式 )(x L ,由5个节点作 ( C ) 个、次数均为 ( D ) 次的插值基函数

相关主题
文本预览
相关文档 最新文档