当前位置:文档之家› 东南大学数值分析的上课课件chapter7

东南大学数值分析的上课课件chapter7

东南大学数值分析上机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-21222N S N +++=,计算N S 的通用 程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222-++--+ -=N N S N ,计算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-21222N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 2 22 -++--+-= N N S N function sn2=fromsmall(n) %从小到大计算sn2 format long ; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203()

clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

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

东南大学数值分析上机作业 汇总 -标准化文件发布号:(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、两种方法有效位数对比

东南大学 数值分析 考试要求

第一章绪论 误差的基本概念:了解误差的来源,理解绝对误差、相对误差和有效数的概念,熟练掌握数据误差对函数值影响的估计式。 机器数系:了解数的浮点表示法和机器数系的运算规则。 数值稳定性:理解算法数值稳定性的概念,掌握分析简单算例数值稳定性的方法,了解病态问题的定义,学习使用秦九韶算法。 第二章非线性方程解法 简单迭代法:熟练掌握迭代格式、几何表示以及收敛定理的内容,理解迭代格式收敛的定义、局部收敛的定义和局部收敛定理的内容。 牛顿迭代法:熟练掌握Newton迭代格式及其应用,掌握局部收敛性的证明和大范围收敛定理的内容,了解Newton法的变形和重根的处理方法。 第三章线性方程组数值解法 (1)Guass消去法:会应用高斯消去法和列主元Guass消去法求解线性方程组,掌握求解三对角方程组的追赶法。 (2)方程组的性态及条件数:理解向量范数和矩阵范数的定义、性质,会计算三种常用范数,掌握谱半径与2- 范数的关系,会计算条件数,掌握实用误差分析法。 (3)迭代法:熟练掌握Jacobi迭代法、Guass-Seidel迭代法及SOR方法,能够判断迭代格式的收敛性。 (4)幂法:掌握求矩阵按模最大和按模最小特征值的幂法。 第四章插值与逼近 (1)Lagrange插值:熟练掌握插值条件、Lagrange插值多项式的表达形式和插值余项。(2)Newton插值:理解差商的定义、性质,会应用差商表计算差商,熟练掌握Newton插值多项式的表达形式,了解Newton型插值余项的表达式。 (3)Hermite插值:掌握Newton型Hermite插值多项式的求法。 (4)高次插值的缺点和分段低次插值:了解高次插值的缺点和Runge现象,掌握分段线性插值的表达形式及误差分析过程。 (5)三次样条插值:理解三次样条插值的求解思路,会计算第一、二类边界条件下的三次样条插值函数,了解收敛定理的内容。 (6)最佳一致逼近:掌握赋范线性空间的定义和连续函数的范数,理解最佳一致逼近多项式的概念和特征定理,掌握最佳一致逼近多项式的求法。 (7)最佳平方逼近:理解内积空间的概念,掌握求离散数据的最佳平方逼近的方法,会求超定方程组的最小二乘解,掌握连续函数的最佳平方逼近的求法。

东南大学《数值分析》-上机题

数值分析上机题1 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ?+?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序22 21111(1)121 N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 程序代码(matlab 编程): clc clear a=single(1./([2:10^7].^2-1)); S1(1)=single(0); S1(2)=1/(2^2-1); for N=3:10^2 S1(N)=a(1); for i=2:N-1 S1(N)=S1(N)+a(i); end end S2(1)=single(0); S2(2)=1/(2^2-1); for N=3:10^2 S2(N)=a(N-1); for i=linspace(N-2,1,N-2) S2(N)=S2(N)+a(i); end end S1表示按从大到小的顺序的S N S2表示按从小到大的顺序的S N 计算结果

通过本上机题,看出按两种不同的顺序计算的结果是不相同的,按从大到小的顺序计算的值与精确值有较大的误差,而按从小到大的顺序计算的值与精确值吻合。从大到小的顺序计算得到的结果的有效位数少。计算机在进行数值计算时会出现“大数吃小数”的现象,导致计算结果的精度有所降低,我们在计算机中进行同号数的加法时,采用绝对值较小者先加的算法,其结果的相对误差较小。

东南大学-数值分析上机题作业-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程序

东南大学数值分析上机解剖

第一章 一、题目 设∑ =-=N j N j S 22 1 1,其精确值为)11 123(21+--N N 。 (1)编制按从大到小的顺序1 1 131121222-+ ??+-+-=N S N ,计算SN 的通用程序。 (2)编制按从小到大的顺序1 21 1)1(111222-+ ??+--+-=N N S N ,计算SN 的通用程序。 (3)按两种顺序分别计算64210,10,10S S S ,并指出有效位数。(编制程序时用单精度) (4)通过本次上机题,你明白了什么? 二、MATLAB 程序 N=input('请输入N(N>1):'); AccurateValue=single((0-1/(N+1)-1/N+3/2)/2); %single 使其为单精度 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('Sn 的值 (N=%d)\n',N); disp('____________________________________________________') fprintf('精确值 %f\n',AccurateValue); fprintf('从大到小计算的结果 %f\n',Sn1); fprintf('从小到大计算的结果 %f\n',Sn2); disp('____________________________________________________')

数值分析上机题(matlab版)(东南大学)

数值分析上机题(matlab版)(东南大学)

数值分析上机报告

第一章 一、题目 精确值为)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) 按两种顺序分别计算6 42 10,10, 10S S S ,并指出有效位 数。(编制程序时用单精度) 4) 通过本次上机题,你明白了什么? 二、通用程序 clear 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 using different algorithms (N=%d)\n',N); disp('____________________________________________________') fprintf('Accurate Calculation %f\n',AccurateValue); fprintf('Caculate from large to small %f\n',Sn1); fprintf('Caculate from small to large %f\n',Sn2);

(完整版)数值分析第7章答案

第七章非线性方程求根 一、重点内容提要 (一)问题简介 求单变量函数方程 ()0f x = (7.1) 的根是指求*x (实数或复数),使得(*)0f x =.称*x 为方程(7.1)的根,也称*x 为 函数()f x 的零点.若()f x 可以分解为 ()(*)()m f x x x g x =- 其中m 为正整数,()g x 满足()0g x ≠,则*x 是方程(7.1)的根.当m=1时,称*x 为单根;当m>1时,称*x 为m 重根.若()g x 充分光滑,*x 是方程(7.1)的m 重根,则有 (1)() (*)'(*)...(*)0,(*)0m m f x f x f x f x -====≠ 若()f x 在[a,b]上连续且()()0f a f b <,则方程(7.1)在(a,b)内至少有一个实根,称[a,b]为方程(7.1)的有根区间.有根区间可通过函数作图法或逐次搜索法求得. (二)方程求根的几种常用方法 1.二分法 设()f x 在[a,b]上连续,()()0f a f b <,则()0f x =在(a,b)内有根*x .再设()0f x =在 (a,b)内仅有一个根.令00,a a b b ==,计算0001 ()2x a b =+和0()f x .若0()0f x =则*x x =,结束计算;若00()()0f a f x >,则令10,1a x b b ==,得新的有根区间11[,]a b ;若 00()()0 f a f x <,则令 10,10 a a b x ==,得新的有根区间 11[,]a b .0011[,][,]a b a b ?,11001()2b a b a -=-.再令1111 ()2x a b =+计算1()f x ,同上法得 出新的有根区间22[,] a b ,如此反复进行,可得一有根区间套 1100...[,][,]...[,] n n n n a b a b a b --????

数值分析报告上机题(matlab版)(东南大学)

数值分析上机报告

第一章 一、题目 精确值为)1 1123(21+--N N 。 1) 编制按从大到小的顺序11 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)给定初值0x 及容许误差ε,编制牛顿法解方程f(x)=0的通用程序。 (2)给定方程03 )(3 =-=x x x f ,易知其有三个根3,0,3321=*=*- =*x x x a) 由牛顿方法的局部收敛性可知存在,0>δ当),(0δδ+-∈x 时,Newton 迭代序列收 敛于根x 2*。试确定尽可能大的δ。 b)试取若干初始值,观察当),1(),1,(),,(),,1(),1,(0+∞+-----∞∈δδδδx 时Newton 序列的收敛性以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 二、通用程序

1.运行search.m 文件 结果为: The maximum delta is 0.774597 即得最大的δ为0.774597,Newton 迭代序列收敛于根* 2x =0的最大区间为 (-0.774597,0.774597)。 2.运行Newton.m 文件 在区间(,1),(1,),(,),(,1),(1,)δδδδ-∞----++∞上各输入若干个数,计算结果如下: 区间(,1)-∞-上取-1000,-100,-50,-30,-10,-8,-7,-5,-3,-1.5

数值分析答案第七章

第七章 9.已知一组数据: 试用 y = 来拟合这组数据(写出matlab 程) 解: x=-1:6; y=[10,9,7,5,4,3,0 ,-1]; p=polyfit(x,y,1); a=p(1);c 二exp(p (2)); ax 解: In y = In c ax 令 Y = In y,b = In c, X = x x=0:4; y=[1.5,2.5,3.5,5.0,7.5] ;Y=logy;X=x p=polyfit(X, Y,1);a=p(1);c=exp(p(2));

试求出3次,4次多项式的曲线拟合,画出计算曲线。 具体步骤: 三次拟合: x=0:0.25:1.5 ; y=[1.0000, 1.2840,1.6487 ,2.1170,2.7183, 3.4903, 4.4817 ]; plot(x,y, '* ' p=polyfit(x,y,3) x1=0:0.1:1.5; y1=polyval(p,x1); hold on plot(x1,y1,'' 过程中得出的三次拟合多项式的系数矩阵为p=[ 0.3659 0.2891 1.0642 0.9982] 曲线拟合图: 4.5 . 4 _ 一 3.5■M - 3 . S& 2.5 - 」 .4 2 _ 」 -I 1.5 - _ ■* 1. _ 一 050 0^5 ' 1.5 四次拟合: x=0:0.25:1.5 ; y=[1.0000, 1.2840,1.6487 ,2.1170,2.7183, 3.4903, 4.4817 ]; plot(x,y, '* ' p=polyfit(x,y,4) x1=0:0.1:1.5; y1=polyval(p,x1); hold on plot(x1,y1,''

东南大学_数值分析_第七章_偏微分方程数值解法

第七章 偏微分方程数值解法 ——Crank-Nicolson 格式 ****(学号) *****(姓名) 上机题目要求见教材P346,10题。 一、算法原理 本文研究下列定解问题(抛物型方程) 22(,) (0,0)(,0)() (0) (0,)(), (1,)() (0)u u a f x t x l t T t x u x x x l u t t u t t t T ?αβ???-=<<≤≤???? =≤≤??==<≤?? (1) 的有限差分法,其中a 为正常数,,,,f ?αβ为已知函数,且满足边界条件和初始条件。关于式(1)的求解,采用离散化方法,剖分网格,构造差分格式。其中,网格剖分是将区域{}0,0D x l t T =≤≤≤≤用两簇平行直线 (0) (0)i k x x ih i M t t k k N τ==≤≤?? ==≤≤? 分割成矩形网格,其中,l T h M N τ==分别为空间步长和时间步长。将式(1)中的偏导数使用不同的差商代替,将得到不同的差分格式,如古典显格式、古典隐格式、Crank-Nicolson 格式等。其中,Crank-Nicolson 格式具有更高的收敛阶数,应用更广泛,故本文采用Crank-Nicolson 格式求解抛物型方程。 Crank-Nicolson 格式推导:在节点(,)2 i k x t τ +处考虑式(1),有 22(,)(,)(,)222 i k i k i k u u x t a x t f x t t x τττ??+-+=+?? (2) 对偏导数 (,)2 i k u x t t τ ?+?用中心差分展开 []2311+13 1(,)(,)(,)(,) ()224k k i k i k i k i i k i k u u x t u x t u x t x t t t t ττηητ++??+=--<

东南大学数值分析上机题答案说课讲解

东南大学数值分析上 机题答案

数值分析上机题 第一章 17.(上机题)舍入误差与有效数 设∑=-= N j N j S 2 2 11 ,其精确值为)111-23(21+-N N 。 (1)编制按从大到小的顺序1 -1 ···1-311-212 22N S N +++=,计算N S 的通用程序; (2)编制按从小到大的顺序1 21 ···1)1(111 222 -++--+-=N N S N ,计 算N S 的通用程序; (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数(编制程序时用单精度); (4)通过本上机题,你明白了什么? 解: 程序: (1)从大到小的顺序计算1 -1 ···1-311-212 22N S N +++= : function sn1=fromlarge(n) %从大到小计算sn1 format long ; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end (2)从小到大计算1 21 ···1)1(111 222-++--+ -= N N S N function sn2=fromsmall(n) %从小到大计算sn2

format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end (3) 总的编程程序为: function p203() clear all format long; n=input('please enter a number as the n:') sn=1/2*(3/2-1/n-1/(n+1));%精确值为sn fprintf('精确值为%f\n',sn); sn1=fromlarge(n); fprintf('从大到小计算的值为%f\n',sn1); sn2=fromsmall(n); fprintf('从小到大计算的值为%f\n',sn2); function sn1=fromlarge(n) %从大到小计算sn1 format long; sn1=single(0); for m=2:1:n sn1=sn1+1/(m^2-1); end end function sn2=fromsmall(n) %从小到大计算sn2 format long; sn2=single(0); for m=n:-1:2 sn2=sn2+1/(m^2-1); end end end 运行结果:

东南大学数值分析上机题(上)

数值分析上机报告 姓名: 学号: 专业: 2013年10月27日

第一章 舍入误差与有效数 设2 21 1N N j S j ==-∑ ,其精确值为1311221N N ??-- ? +?? 。 (1)编制按从大到小的顺序222 111 21311 N S N = +++---,计算N S 的通用程序。 (2)编制按从小到大的顺序2221111(1)121N S N N =+++----,计算N S 的通用程序。 (3)按两种顺序分别计算210S ,410S ,610S ,并指出有效位数。(编制程序时用单精度) (4)通过本上机题,你明白了什么? 解: (1) #include void main() { float n,i,s; printf("please input n="); scanf("%f",&n); for(i=2,s=0;i<=n;s+=1/(i*i-1),i++); printf("s=%f\n",s); } (2) #include void main() { float n,i,s; printf("please input n="); scanf("%f",&n); for(i=n,s=0;i>=2;s+=1/(i*i-1),i--); printf("s=%f\n",s); } (3)按从大到小顺序:210S =0.740049 有效位数6位 410S =0.749852 有效位数3位 610S =0.749852 有效位数3位 按从小到大顺序: 210S =0.740050 有效位数5位

410S =0.749900 有效位数6位 610S =0.749999 有效位数6位 (4)通过上述实验数据可以看出此次算法使用从小到大的顺序进行得到的数据相对而言更精确,可以得到这样的启示:在计算数值时,要先分析不同算法对结果的影响,避免大数吃小数的现象,找出能得到更精确的结果的算法。 第二章 (上机题)Newton 迭代法 (1)给定初值0x 及容许误差ε,编制Newton 法解方程()0f x =根的通用程序。 (2)给定方程3 ()/30f x x x =-=,易知其有三个根1x *=,20x * =,3x * = 1.由Newton 方法的局部收敛性可知存在0δ>,当0(,)x δδ∈-时,Newton 迭代序列收敛于根2x * 。试确定尽可能大的δ。 2.试取若干初始值,观察当0(,1)x ∈-∞-,(1,)δ--,(,)δδ-,(,1)δ,(1,)∞时Newton 序列是否收敛以及收敛于哪一个根。 (3)通过本上机题,你明白了什么? 解: (1)#include #include #define eps 0.000001 float f(float x) { float f; f=x*x*x/3-x; return(f); } float df(float x) { float df; df=x*x-1; return (df); } void main(void) { float x0,x1,a;

数值分析上机题4-5章

数值分析上机报告 姓名:徐敬梁 学号:220141447(A) 院系:自动化

第五章 一.重积分的计算 (1) 给定积分()((,)),d b c a I f f x y dx dy =蝌取初始步长h 和k 及精度e ,应用复化梯形 公式,采用逐次二分步长的方法并应用外推思想编制计算()I f 的通用程序,计算至相邻两次近似值之差的绝对值不超过e 为止; (2) 用所编程序计算积分226300()(tan())I f x y dx dy p p =+蝌取51102 e -= 二.主程序 %Get the approximation of a double integral of f(x,y) %on a rectangular region R={(x,y)|a<=x<=b,c<=y<=d} %with given step m=(b-a)/h and n=(d-c)/k %and given error epsilon Function[bestres,res]=getDoubleIntegral(f,a,b,c,d,m,n,epsilon); Res=[]; Count=1; Res(count,1)=getT(f,a,b,c,d,2^count*m,2^count*n); Count=2; Res(count,1)=getT(f,a,b,c,d,2^count*m,2^count*n); Res(count-1,2)=4/3*res(count,1)-1/3*res(count-1,1); Res1=res(1,1); Res2=res(2,1); Co=[4/3-1/3;16/15-1/15;64/63-1/63]; While abs(res1-res2)>epsilon Count=count+1; Res(count,1)=get(f,a,b,c,d,2^count*m,2^count*n); For I =1:size(co,1) If count >1 Res(count-i,i+1)=co(i,1)*res(count-i+1,i)+co(i,2)*res(count-I,i); End End I=size(co,1); While size(res,1)-i-1<0 i=i-1 end res1=res(count-I,i); res2=res(count-i+1,i); bestres=res2; end end %Get approximation of a double integral of f(x,y) %on a rectangular region R={(x,y)|a<=x<=b,c<=y<=d}

数值分析原理课件第一章

第一章 绪 论 本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概 念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题. §1.1 引 言 计算方法以科学与工程等领域所建立的数学模型为求解对象,目的是在有限的时间段内 利用有限的计算工具计算出模型的有效解答。 由于科学与工程问题的多样性和复杂性,所建立的数学模型也是各种各样的、复杂的. 复杂性表现在如下几个方面:求解系统的规模很大,多种因素之间的非线性耦合,海量的数据处理等等,这样就使得在其它课程中学到的分析求解方法因计算量庞大而不能得到计算结果,且更多的复杂数学模型没有分析求解方法. 这门课程则是针对从各种各样的数学模型中抽象出或转化出的典型问题,介绍有效的串行求解算法,它们包括 (1) 非线性方程的近似求解方法; (2) 线性代数方程组的求解方法; (3) 函数的插值近似和数据的拟合近似; (4) 积分和微分的近似计算方法; (5) 常微分方程初值问题的数值解法; (6) 优化问题的近似解法;等等 从如上内容可以看出,计算方法的显著特点之一是“近似”. 之所以要进行近似计算,这与我们使用的工具、追求的目标、以及参与计算的数据来源等因素有关. 计算机只能处理有限数据,只能区分、存储有限信息,而实数包含有无穷多个数据,这样,当把原始数据、中间数据、以及最终计算结果用机器数表示时就不可避免的引入了误差,称之为舍入误差. 我们需要在有限的时间段内得到运算结果,就需要将无穷的计算过程截断,从而产生截 断误差. 如 +++ =!21!111e 的计算是无穷过程,当用! 1 !21!111n e n ++++= 作为e 的近似时,则需要进行有限过程的计算,但产生了截断误差e e n -. 当用计算机计算n e 时,因为舍入误差的存在,我们也只能得到n e 的近似值* e ,也就是说最终用* e 近似e ,该近似值既包含有舍入误差,也包含有截断误差. 当参与计算的原始数据是从仪器中观测得来时,也不可避免得有观测误差. 由于这些误差的大量存在,我们得到的只能是近似结果,进而对这些结果的“可靠性”进行分析就是必须的,它成为计算方法的第二个显著特点. 可靠性分析包括原问题的适定性和算法的收敛性、稳定性. 所谓适定性问题是指解存在、惟一,且解对原始数据具有连续依赖性的问题. 对于非适定问题的求解,通常需要作特殊的预处理,然后才能做数值计算. 在这里,如无特殊说明,都是对适定的问题进行求解. 对于给定的算法,若有限步内得不到精确解,则需研究其收敛性. 收敛性是研究当允许计算时间越来越长时,是否能够得到越来越可靠的结果,也就是研究截断误差是否能够趋于零.

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

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

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

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

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

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

1 题目 设S N =∑1N 2?1 N N =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)通过本次上机题,你明白了什么 程序 运行结果

结果分析 按从大到小的顺序,有效位数分别为:6,4,3。 按从小到大的顺序,有效位数分别为:5,6,6。 可以看出,不同的算法造成的误差限是不同的,好的算法可以让结果更加精确。当采用从大到小的顺序累加的算法时,误差限随着N 的增大而增大,可见在累加的过程中,误差在放大,造成结果的误差较大。因此,采取从小到大的顺序累加得到的结果更加精确。 2 题目 (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)通过本上机题,你明白了什么 程序

数值分析上机题课后作业全部东南大学

2015.1.9

1.Chapter 1 1.1题目 设S N =∑1 j 2?1 N j=2 ,其精确值为 )1 1123(21+--N N 。 (1)编制按从大到小的顺序1 1 1311212 22-+??+-+-=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程序

数值分析课件2015xin王兵团-数值分析整理

数值分析 1. 数值分析的病态性是指因初始数据的微小变化,导致计算结果的剧烈变化。 病态问题:因初始数据微小变化,导致计算结果剧烈变化的问题 良态问题:初始数据微小变化,只引起计算结果微小变化的计算问题。 数值不稳定算法:指算法进行计算的初始数据有误差,而计算过程中产生的舍入误差不断增长。例子 2. 误差的来源:①模型误差:在数学建模时,由于忽略了某些次要因素而产生的误差;②观测误差:在采集原始数 据时,由仪器的精度或其他客观因素产生的误差;③截断误差:对产与计算的数学公式做简化处理后所产生的误差;④舍入误差:计算机因数系不全,由接受和运算数据的舍入引起的误差。 科学计算中值得注意的地方:①避免两个相近的数相减;②合理安排量级相差很大的数之间的运算次序,防止大数吃小数;③避免绝对值很小的数做分母;④简化运算步骤,减少运算次数。 3. 用计算机做科学计算时的溢出错误。 机器数系是有限的离散集,机器数系中有绝对值最大和最小的非零数M 和m ,若一个非零实数的绝对值大于M ,则计算机产生上溢错误,若其绝对值小于m ,则计算机产生下溢错误。上溢错误时,计算机中断程序处理;下溢错误时,计算机将此数用零表示并继续执行程序。 4. 解非线性方程f x () =0单根的牛顿法具有二阶收敛。简单迭代法具有一阶收敛性。当f ' x * ()10且有2阶导数时, Newton 迭代法才有二阶敛速。 5. 对(n+1)个节点的Newton-cotes 求积公式,在n £7时,Cotes 系数大于0,而在n >7时,考虑到公式的稳定性不实用该公式。 6. 当系数矩阵A 是严格对角占优矩阵,Jacobi 格式、Seidel 格式都收敛。 7. 用高斯消元法求解线性方程组,一般使用选主元的技术是因为要减少舍入误差。 8. 解非线性方程组迭代法的整体收敛和局部收敛的主要区别是局部收敛在较小邻域内取初值,有初值限制。 9. 二分法是全部收敛,简单迭代法是局部收敛。 10. 四种插值方法:Lagrange 插值、Newton 插值、Hermite 插值、分段多项式插值。 11. 截断误差是对参与计算的数学公式作简化处理后所产生的误差,在所学的数值方法中插值和数值积分都涉及截断误差处理的内容,分别为插值余项和积分余项。 例:e x =1+x +x 2 2! + +x n n!+无穷项相加,我们用e x =1+x +x 2 2! + +x n n! 近似计算e x 就产生截断误差。 12. 线性方程组迭代解法的基本思想是将现行方程组作等价变形,得到同解的易于作迭代计算的线性方程组,用计算出的迭代序列来逼近解。考虑线性方程组Ax =b 及由次方程组构造的迭代格式x k +1() =Bx k ()+g ,判断此迭代格 式的收敛方法有: (1) 若r B () <1,则迭代格式收敛; (2)若B <1,则迭代格式收敛,B 是矩阵B 的某种算子范数; (3) 若矩阵A 是严格对角占优矩阵,则线性方程组Ax =b 的Jacobi 迭代和Seidel 迭代对任意初值都收敛; (4)若矩阵A 是对称正定矩阵,则线性方程组Ax =b 的Seidel 迭代对任意初值都收敛; (5) Sor 法收敛的必要条件是松弛因子w 满足00,则迭代公式产生的数列x k {}一定收敛于a,b é ?ù?上的为一根x * 。 14. 引入分段插值的原因及目的。 Runge 现象:随着节点n 的增加,误差不但没减小,反而不断增大。原因是当节点n 较大时,对应的是高次插值多项式,而高次多项式的舍入误差是随次数的增加而不断变大的,用高次多项式插值作数值计算时舍入误差将“淹没”了增加节点提高的精度。Runge 现象否认了用高次插值公式提高逼近精度的做法,因此引入了分段插值法。定义如下:

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