数值分析课程设计实验指导书
《计算机数值分析》实验指导书

Else set b=p
Step 7 OUTPUT(‘Method failed after iterations, =’, );
(The procedure was unsuccessful)
STOP
3、程序中变量说明
(略)
4、源程序清单及运行结果
(略)
5、按以上4点要求编写上机实习报告。
Step 3 Set P=a+(b-a)/2; (Compute )
FP=
Step 4 If FP=0 or (b-a)/2<TOL then
OUTPUT(p); (Procedure completed successfully)
Stop
Step 5 Set i=i+1
Step 6 If FA*FP>0 then a=p; (Compute )
二、示例
1、问题
用复化梯形公式
的自动控制误差算法求积分 。
2、算法描述
(略)
3、程序中变量说明
(略)
4、源程序清单及运行结果
(略)
5、按以上4点要求编写上机实习报告。
三、实训题
用C++语言编程实现以下算法:
1、用复化梯形公式
的自动控制误差算法求积分 。
2、Romberg积分算法求积分 。
第三章常微分方程初值问题的数值解法
二、示例
1、问题
已知插值节点序列 ,用Lagrange插值多项式 计算的函数 在点 的近似值。
2、算法描述
(略)
3、程序中变量说明
(略)
4、源程序清单及运行结果
(略)
5、按以上4点要求编写上机实习报告。
《数值分析》实验书详解

数值分析实验指导书目录实验目的 (1)实验基本要求 (2)实验一、误差分析 (3)一、实验目的 (3)二、算法实例 (3)三、实验任务 (10)实验二、插值法 (12)一、实验目的 (12)二、算法实例 (12)三、实验任务 (19)四、思考题 (20)实验三、解线性方程组的直接法 (21)一、实验目的 (21)二、算法实例 (21)三、实验任务 (24)四、思考题 (24)实验四、解线性方程组的迭代法 (25)一、实验目的 (25)二、算法实例 (25)三、实验任务 (29)四、思考题 (29)实验五、常微分方程初值问题的数值解法 (30)一、实验目的 (30)二、算法实例 (30)三、实验任务 (40)四、思考题 (40)实验目的作为实践性非常强的课程,安排上机实验的目的,不仅是为了验证教材和授课内容,更重要的是,要通过实验深入理解方法的设计原理与处理问题的技巧,培养自行处理常规数值计算问题的能力和综合运用知识分析、解决问题的能力。
1、通过上机实验加深课堂内容的理解。
数值分析的主要任务就是研究适合于在计算机上使用的数值计算方法及与此相关的理论。
通过编程上机,就可以加深对方法运行过程的理解,同时在编程中领会和理解数值计算方法的计算要领和步骤,体会问题的条件和限制范围,理解一般问题和特殊问题的区别。
2、学会对数值计算结果的分析和处理。
数值分析实验不只是编写程序得到一个数值结果,我们应在掌握数值计算计算方法的基本原理和思想的同时,注意方法处理的技巧及其与计算机的密切结合,重视误差分析、收敛性及稳定性的讨论。
此外,还要注意算法能否在计算机上实现,应避免因数值方法选用不当、程序设计不合理而导致超过计算机的存储能力,或导致计算结果精度不高等。
3、要能灵活掌握各种数值计算方法。
由于针对同一个问题可以选用不同的数值计算方法,我们要注意各种方法的使用条件。
通过上机,比较各种方法间的异同及优缺点,以便更好的使用不同的方法来解决实际问题,使计算机成为我们最好的工具。
数值分析课程设计报告书某某某

西安郵電學院数值分析课程设计报告书系部名称:应用数理系学生姓名:专业名称:信息与计算科学班级:信息070x时间:2009年6月8日至2009年6月19日实验X 19次方系数对方程根地影响一、问题地提出考虑代数多项式201()(1)(2)(20)()k P x x x x x k ==---=-∏ ,显然它地全部根为1,2,…,20;如果19次方地系数有扰动,那么对方程地解有何影响.二、实验内容直接利用Matlab 中地roots()和poly()函数,选择不同地扰动做数值计算. 主要步骤:ve=zeros(1,21);ve(2)=ess;roots(poly(1:20)+ve). Matlab 程序:见附件bingtaiwenti.m三、实验结果1.取扰动分别为36910,10,10ε---=所得结果如下:四、实验结果分析观测现象:由结果可以观察到误差是不可避免地,并且扰动地减小不能使得所有根除地误差减小,还可以观察到16x =处地误差总是最大,而靠近1x =处地误差较小.误差分析:原问题数学上描述为: 19()0P x x ε+=地求解问题,也可等价为:2019(,)0P x x x αα=++=那么要考虑地问题是α对方程地某个解x 地影响,我们不妨将x 看成α地函数,从而可以求得此问题地条件数为:18202011(,)()p i j j iPdx ax C x P x d x x j xααααα==≠∂∂===∂-∂∑∏可见而靠近1x =处地条件数非常小,而16x =处地条件数最大.这与我们地观测结果是一致地.由于条件数太大所以此问题是病态问题.实验Y 用Jacobi 法求对称矩阵地特征值及特征向量一、实验内容已下列矩阵为例,求对称矩阵地全部特征值及特征向量:1.5524253,110.431A ε-⎡⎤⎢⎥==⨯⎢⎥⎢⎥⎣⎦ 2.6351529,110.193A ε--⎡⎤⎢⎥==⨯⎢⎥⎢⎥-⎣⎦3.9213126,110.361A ε-⎡⎤⎢⎥==⨯⎢⎥⎢⎥⎣⎦二、方法步骤1.在A 地非主对角线元素中,找出按模最大地元素pq a ;2.计算平面旋转矩阵pq U ,其中地sin()ϕ及cos()ϕ由cot 22pp qq pqa a a ϕ-=计算;3.计算T1pq pq A U AU =,1pq U U U =(1U 地初始值取单位阵);4.如果(1)max ij i ja ε<<(其中(1)ija 为1A 地元素),则停止计算,所求特征值为:(1)i ii a λ≈,特征向量:T 1,,[,,]i i n i U U = x 即得第i 列;否则令1A A =,1U U =重复以上各步.三、实验结果讨论地矩阵为: A =5 2 4 2 5 3 4 3 1 要求误差为:err=1e-005 迭代次数:7第1个特征值为:9.8057相应地特征向量为:0.65053 0.57817 0.49248 第2个特征值为:3.0604相应地特征向量为:-0.62538 0.77572 -0.084615 第3个特征值为:-1.8661相应地特征向量为:-0.43095 -0.25294 0.8662 讨论地矩阵为: A =3 5 -1 5 2 9 -1 9 3 要求误差为:err=1e-006 迭代次数:7第1个特征值为:3.8441相应地特征向量为:0.87749 0.052794 -0.47668 第2个特征值为:-8.2319相应地特征向量为:-0.3691 0.70896 -0.60095第3个特征值为:12.3879相应地特征向量为:0.30622 0.70327 0.64159 讨论地矩阵为:A =2 1 31 2 63 6 1要求误差为:err=1e-009迭代次数:8第1个特征值为:1.1984相应地特征向量为:0.88975 -0.4478 -0.088467 第2个特征值为:8.6956相应地特征向量为:0.39037 0.64607 0.6559 第3个特征值为:-4.894相应地特征向量为:-0.23656 -0.61812 0.74965以上为程序:tezhjcobi.m运行结果,Matlab程序见附件。
数值分析实验指导书

《数值分析》实验指导书潍坊学院数学与信息科学学院2012年04月目录目录.............................................................................................. 错误!未定义书签。
实验一插值与曲线拟合的最小二乘法.................................. 错误!未定义书签。
实验二数值积分...................................................................... 错误!未定义书签。
实验三解线性方程组的直接法.............................................. 错误!未定义书签。
实验四解线性方程组的迭代法.............................................. 错误!未定义书签。
实验五非线性方程的数值解法.............................................. 错误!未定义书签。
实验六常微分方程数值解法.................................................... 错误!未定义书签。
实验一 插值与曲线拟合的最小二乘法一、实验目的:1.了解拉格朗日插值法、牛顿插值法、曲线拟合最小二乘法的基本原理和方法;2.掌握拉格朗日插值多项式牛顿插值多项式的用法;3.掌握最小二乘原理,会求拟合函数及超定方程组的最小二乘解。
二、实验内容:1.用拉格朗日插值公式和牛顿插值公式确定函数值; 2.对函数f (x )进行拉格朗日插值和牛顿插值; 3.利用Polyfit 拟合幂函数,利用Polyfit 拟合多项式。
三、实验过程:1.给定函数四个点的数据如下:117.2)1.5(,651.4)9.3(,276.4)3.2(,887.3).11(====f f f f ,试用插值公式确定函数在234.4,101.2=x 处的函数值)(x f 。
《数值分析》课程设计实验指导书[1]
![《数值分析》课程设计实验指导书[1]](https://img.taocdn.com/s3/m/19c9909d8762caaedd33d459.png)
数值分析实验指导书考核标准:及格:独立完成12—15题,其中八组实验中每组至少做1题; 中: 独立完成16—23题,其中八组实验中每组至少做1题; 良: 独立完成24—31题,其中八组实验中每组至少做2题; 优: 独立完成32—40题,其中八组实验中每组至少做3题。
结束课程时,抽查上机考核。
实验一1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。
由于旅途的颠簸,大家都很疲惫,很快就入睡了。
第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。
第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题。
1.2 当0,1,2,,100n =时,选择稳定的算法计算积分10d 10nxn xe I x e --=+⎰.1.3 绘制静态和动态的Koch 分形曲线问题描述:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形;在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的另两条边代替,再次形成新的图形,这时,图形中共有17个结点。
这种迭代继续进行下去可以形成Koch 分形曲线。
在迭代过程中,图形中的结点将越来越多,而曲线最终显示细节的多少取决于所进行的迭代次数和显示系统的分辨率。
Koch 分形曲线的绘制与算法设计和计算机实现相关。
图1.1 Koch 曲线的形成过程实验二2.1 小行星轨道问题:一天文学家要确定一颗小行星绕太阳运行的轨道,他在轨道平面内建立以太阳为原点的直角坐标系,在五个不同的对小行星作了五次观察,测得轨道上五个点的坐标数据(单位:万公里)如下表所示: P 1 P 2 P 3 P 4 P 5 X 坐标 53605 58460 62859 66662 68894 Y 坐标 6026 11179 16954 23492 68894 由开普勒第一定律知,小行星轨道为一椭圆,椭圆的一般方程可表示为:221234522210a x a xy a y a x a y +++++=现需要建立椭圆的方程以供研究。
数值分析实验指导

自带编译器LCC。
2.将脚本编译为可执行文件:
如项目文件包含:gui.m, gui.gif, fun1.m。在项目文件路径下命令行输
入:mcc –m gui.m,生 成:mccExcludedFiles.log,ReadMe.txt,gui.ctf,
gui.prj,gui_main.c,gui_mcc_component_data.c,gui.exe。其中:
雅可比迭代法迭代次数20次,结果如下:
5.4实验要求:
(1)选择一种计算机语言设计出雅可比(Jacobi)迭代法的算法程 序,并且选择不同的迭代次数,观察输出结果;
(2)利用Matlab求方程组的解步骤如下:
调用格式:
%得到线性方程组的解向量
Matlab6.1环境下操作如下:
>>; %输入系数矩阵
题目 已知矩阵 ,计算该矩阵主特征值和相应的特征向量.
参考结果 主特征值为6;相应的特征向量为
7.4实验要求
(1) 选择一种计算机语言设计出幂法求主特征值和相应特征向量的程
序,并且选择不同的初值,观察所需的迭代次数和迭代结果.
(2) 利用Matlab求特征值和特征向量
调用格式1: eig(A)
%得到特征值列向量
sum(x)
输入数组x,返回x的和
cumsum(x) 输入数组x,返回x的依次累加和
trapz(x)
输入数组x,返回按梯形公式计算
的x的积分(单位为步长)
trapz(x,y)
输入数组x、y,返回y对x的积分
quad(‘fun’,a,b) 用辛普森公式计算fun.m(或者
库函数)在(a,b)上的积分,相对误差1E-3
实验八 常微分方程数值解法
数值分析上机实验指导书

“数值计算方法”上机实验指导书实验一 误差分析实验1.1(病态问题)实验目的:算法有“优”与“劣”之分,问题也有“好”与“坏”之别。
对数值方法的研究而言,所谓坏问题就是问题本身对扰动敏感者,反之属于好问题。
通过本实验可获得一个初步体会。
数值分析的大部分研究课题中,如线性代数方程组、矩阵特征值问题、非线性方程及方程组等都存在病态的问题。
病态问题要通过研究和构造特殊的算法来解决,当然一般要付出一些代价(如耗用更多的机器时间、占用更多的存储空间等)。
问题提出:考虑一个高次的代数多项式)1.1()()20()2)(1()(201∏=−=−−−=k k x x x x x p显然该多项式的全部根为1,2,…,20共计20个,且每个根都是单重的。
现考虑该多项式的一个扰动)2.1(0)(19=+x x p ε其中ε是一个非常小的数。
这相当于是对(1.1)中19x 的系数作一个小的扰动。
我们希望比较(1.1)和(1.2)根的差别,从而分析方程(1.1)的解对扰动的敏感性。
实验内容:为了实现方便,我们先介绍两个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 ”是两个互逆的运算函数。
))20:1((;)2();21,1(;000000001.0ve poly roots ess ve zeros ve ess +===上述简单的MATLAB 程序便得到(1.2)的全部根,程序中的“ess ”即是(1.2)中的ε。
数值分析课设实验报告 多项式求解

《数值分析》课程设计任务书根据课设任务书要求,我们的任务是计算出给定的任意的多项式方程:nn n n xa xa x a x a a ++++--112210 根的值。
在此我们选用牛顿迭代法进行计算。
但为了避免重根的问题,我们在得到一个给定函数后,先要将其函数图像画出。
在图像中我们能清晰的看出每个根的大概位置,再选取其中一个根的近似值记为初始值,之后确定精度和误差界后就可以计算这个根的值了。
计算中我们将用到三个M 文件,分别存放牛顿迭代函数、原函数及导函数。
其中原函数和到函数是以迭代形式表现出来的,以此来表示任意阶多项式。
这个模型选取依次求根的方式,能将根的精确度进一步提高,因此适于解决小型多项式的求根问题。
关键字:牛顿迭代函数、多项式、原函数、导函数一、问题的提出————————————————————————4二、模型的假设与符号说明———————————————————5三、问题的分析、模型的建立和测试求解————————————6问题分析———————————————————————6模型建立———————————————————————6测试数据的结果分析——————————————————8四、模型的优缺点和评价————————————————————11五、课设总结—————————————————————————12六、参考文献—————————————————————————13七、附录———————————————————————————14一、问题的提出1.1问题的背景在数学的学习过程中,我们会经常遇到求解多项式的问题,一般情况下我们只能用待定系数法求解这些方程的根,如何能更快捷的利用计算机解决这些问题呢。
下面我们将利用数值分析中的一些方法解决这个问题。
1.2问题的提出任意给定一个多项式:nn n n xa xa x a x a a ++++--112210求出它的根。
二、模型的假设与符号说明2.1 模型的假设2.1.1 假设多项式是有限次的2.1.2 假设某根的区间,及近似值可由图像看出2.1.3 假设每个根能分别求出,由此可不用考虑冲根问题2.2 符号说明(1) f 非线性函数(2) dff的微商(3) 0p 初始值(4) delta给定的允许误差 (5) 1max迭代的最大次数(6) 1p牛顿法求出的方程的近似值(7) err0p 的误差估计(8) k 迭代次数(9) y )(1p f y =(10) A 给定方程的系数矩阵 (11) B给定方程导函数系数矩阵(12) b系数矩阵的列数(13) a 系数矩阵的行数(14)1y)(1x df y =三、 问题的分析、模型的建立和测试求解3.1 对问题的分析根据上文问题的提出可知,我们要对给定的任意多项式:nn n n xa xa x a x a a ++++--112210求解。
数值分析实验学习课程指导书

数值分析课程实验指导书太原科技大学应用科学学院数学系目录前言 (1)第一部分数值实验报告格式 (1)第二部分数值实验报告范例 (2)第三部分数值实验 (6)数值实验一 (6)数值实验二 (8)数值实验三 (10)数值实验四 (12)数值实验五 (13)数值实验六 (16)数值实验七 (17)第四部分MATLAB入门 (19)前言该实验指导书是《数值分析》课程的配套数值实验教材。
《数值分析》是理工科大学本科生与硕士研究生的必修课程,学习本课程的最终目的,是用计算机解决科学和工程实际中的数值计算问题,因此熟练地在计算机上实现算法是必备的基本技能。
数值实验是数值分析课程中不可缺少的部分,利用计算机进行数值实验,以消化巩固所学的内容,增加对算法的可靠性、收敛性、稳定性及效率的感性认识,体会和重视算法在计算机上实验时可能出现的问题。
学生通过选择算法、编写程序、分析数值结果、写数值实验报告等环节的综合训练,逐步掌握数值实验的方法和技巧,获得各方面的数值计算经验,培养学生运用所学算法解决实际问题和进行理论分析的能力。
该实验指导书由王希云、刘素梅、王欣洁、李晓峰等老师编写。
第一部分数值实验报告格式一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下:一、实验名称实验者可根据报告形式需要适当写出。
二、实验目的及要求首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出。
三、算法描述(实验原理与基础理论)数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出。
四、实验内容实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备。
数值分析课程设计指导书2011 (1)

数值分析课程设计指导书张智丰编杭州电子科技大学数学实验中心2010年9月前言课程设计是高等教育中一个重要的实践环节,它与实验、实习、毕业设计共同构成了学校的实践性教学体系。
课程设计是用所学的理论知识结合相关经验,构成一个有效、可行、适用的、简单的系统,来达到一个或多个实际需求的一种有目的的活动。
它不同于实验室里的实验和科研,实验是借助于实验软硬件条件,验证某些已成熟或尚在形成的理论或成果;科研则是对未知世界的探索;而课程设计则是为解决生产、生活等人类社会实际问题,如:开发产品、实现算法等等。
与实验、科研和工程设计相比较,课程设计具有两个显著的特征:一是教学性,学生在教师指导下针对某一门课程的学习进行工程设计;二是实践性,软件类的课程设计包括基础理论的应用、算法设计、算法实现、程序编制、程序调试、数据分析等实践内容。
通过课程设计,学生能进一步理解理论教学内容,同时能培养初步的工程应用和实践能力。
课程设计与其他工程技术一样,有一定的规律性,主要体现为“明确目标→制定方案→实现方案→资料整理→撰写报告”等认知规律。
古人云:“没有规矩,不成方圆”,依照一定的规律和方法进行设计不但可以使设计工作做得全面细致,少走许多弯路,而且还能培养科学的思维方法和工程设计习惯。
因此,利用现有资源,结合自身实际,努力提高理论水平和工程应用能力是完成好课程设计的基本方法和基本目的。
数值分析是一门实践性很强的课程,尤其是随着计算机科学的发展,数值分析成为一门日益受到工程领域欢迎和越来越具有实践性的课程。
在越来越多的学校开设《数值分析》课程的同时,开设《数值分析课程设计》正在成为一种趋势,目前已有浙江大学等一些著名大学开设了这个实践性教学环节。
我校数学类专业决定从2008级开始开设这一实践环节,目的是加强学生编程能力的训练与培养,通过这一课程设计,使学生能够用C 语言编写数值分析课程中涉及的主要算法。
本课程设计共有七个问题,分别是插值、拟合、线性方程组的直接法求解和迭代求解、数值积分、非线性方程的求解、常微分方程初值问题的数值解。
(完整word版)数值分析课程设计实验二

实验二2.1一、题目:用高斯消元法的消元过程作矩阵分解。
设20231812315A ⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦消元过程可将矩阵A 化为上三角矩阵U ,试求出消元过程所用的乘数21m 、31m 、31m 并以如下格式构造下三角矩阵L 和上三角矩阵U(1)(1)212223(2)313233120231,1L m U a a m m a ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦验证:矩阵A 可以分解为L 和U 的乘积,即A =LU 。
二、算法分析:设矩阵111213212223313233a a a A a a a a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭,通过消元法可以将其化成上三角矩阵U ,具体算法如下: 第1步消元:111111(1)22112(1)331130,0;;2,3;i i i i i i i i a m a a a a m a i a a m a +=≠⎧⎪=+=⎨⎪=+⎩ 得到111213(1)(1)12223(1)(1)323300a a a A a a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭第2步消元:(1)(1)(1)32322222(2)(1)(1)333332230,0;;a m a a a a m a ⎧+=≠⎪⎨=+⎪⎩ 得到的矩阵为111213(1)(1)22223(2)33000a a a A a a a ⎛⎫ ⎪= ⎪ ⎪⎝⎭三、程序及运行结果b1.mA=[20 2 3;1 8 1;2 -3 15];for i=1:2M(i)=A(i+1,1)/A(1,1);endfor j=2:3A1(j,2)=A(j,2)-M(j-1)*A(1,2);A1(j,3)=A(j,3)-M(j-1)*A(1,3);endM(3)=A1(3,2)/A1(2,2);A1(3,2)=0;A1(3,3)=A1(3,3)-M(3)*A1(2,3);M,A1运行结果为:M =0.0500 0.1000 -0.4051A1 =0 0 00 7.9000 0.85000 0 15.0443所以:10020230.051007.90.850.10.405110015.0443L U ⎛⎫⎛⎫ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭验证:L=[1 0 0;0.05 1 0;0.1 -0.4051 1];U=[20 2 3;0 7.9 0.85;0 0 15.0443];A1=L*UA1 =20.0000 2.0000 3.00001.0000 8.0000 1.00002.0000 -3.0003 15.0000四、精度分析因为根据LU 的递推公式可知,L ,U 分别为下三角和上三角矩阵,其中L 不在对角线上的元素值为111()k ik ik is sk s kk l a l u u -==-∑,在计算每个系数时会产生相应的计算误差。
《数值分析》实验报告书

N4(0.895) function [y,R]= newcz(X,Y,x,M) x=0.895; M=4; X=[0.4,0.55,0.65,0.8,0.9]; Y=[0.41075,0.57815,0.69675,0.88811,1.02652];
n=length(X); m=length(x); for t=1:m z=x(t); A=zeros(n,n);A(:,1)=Y'; s=0.0; p=1.0; q1=1.0; c1=1.0; for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1)); end q1=abs(q1*(z-X(j-1)));c1=c1*j; end C=A(n,n);q1=abs(q1*(z-X(n))); for k=(n-1):-1:1 C=conv(C,poly(X(k)));d=length(C); C(d)=C(d)+A(k,k); end y(k)= polyval(C, z); end R=M*q1/c1; 运行结果: ans = 1.0194
实验三、解线性方程组的直接法
解线性方程组的直接法是指经过有限步运算后能求得方程组精确解
的方法。但由于实际计算中舍入误差是客观存在的,因而使用这类方法 也只能得到近似解。目前较实用的直接法是古老的高斯消去法的变形, 即主元素消去法及矩阵的三角分解法。引进选主元的技巧是为了控制计 算过程中舍入误差的增长,减少舍入误差的影响。一般说来,列主元消 去法及列主元三角分解法是数值稳定的算法,它具有精确度较高、计算 量不大和算法组织容易等优点,是目前计算机上解中、小型稠密矩阵方 程组可靠而有效的常用方法。
Y=[0.82741,0.82659,0.82577,0.82495]; n=length(X); m=length(x); for i=1:m z=x(i);s=0.0; for k=1:n p=1.0; q1=1.0; c1=1.0; for j=1:n if j~=k p=p*(z-X(j))/(X(k)-X(j)); end q1=abs(q1*(z-X(j))); c1=c1*j; end s=p*Y(k)+s; end y(i)=s; end R=M.*q1./c1; 运行结果: ans = 0.8261 2. N3(0.596) function [y,R]= newcz(X,Y,x,M) x=0.596; M=3;
《数值分析》和《数值计算方法》课程实验指导

《数值分析》和《数值计算方法》课程实验指导一、实验教学目的与基本要求本课程是计算机科学各专业和软件类各专业的专业基础课,通过上机实验可以加深学生对一些常用算法和最基本的数值算法的理解。
要求学生能使用某种高级语言(JAVA或C++) 等编制这些算法的程序并上机运行结果正确。
二、实验课程内容和学时分配三、实验题目实验一1.用高斯消元法解方程组:21.0x1+67.0x2+88.0x3+73.0x4 =141.076.0x1+63.0x2 + 7.0x3+20.0x4 =109.085.0x2+56.0x3+54.0x4 =218.019.3x1+43.0x2+30.2x3+29.4x4 =93.72.用LDL T分解求解方程组:x1+2x2+3x3 = -32x1+x2-2x3 = 103x1-2x2+x3 = 7●实验二1.以X(0)=(0,0,0)T为初值, 用雅可比迭代求解下列方程组:5x1- x2 - x3 = -13x1+6x2+2x3 =0x1- x2+2x3 =42.用高斯塞德尔迭代求解:10x1 - 2x2 - x3 =0-2x1+10x2 - x3 = -21-x1- 2x2+5x3 = -20●实验三给定插值点(-1.0,3.0), (2.0,5.0), (3.0,7.0), 分别用二次拉格朗日插值公式、二次牛顿插值公式和分段线性插值求 f (0)的函数值。
●实验四给出下列数据,用最小二乘法求形如y*=a+bx2的经验公式。
要求:1.打印出a和b的值。
2.打印出给定y 值、计算值y*以及对应误差y-y*作比较,若误差是正负相间且误差很小,说明曲线拟合较好。
● 实验五1.已知f(x)=x 3+x 2-1, 取ε=10 -3, 用二分法求f(x)在[0,1]上的根。
2.已知f(x)=x 3-3x-2, 取ε=10 -3, x 0=1.5, 用牛顿迭代法计算f(x)的根。
● 实验六用幂法计算下列矩阵按模最大的特征值和相应的特征向量1 2 4 1● 实验七1.用复化梯形公式求积分:⎰10sin(x)dx , 取n=202.用复化辛普森公式求积分:⎰1014+x dx3.用龙贝格积分法计算:⎰1214x + dx● 实验八用四阶龙格-库塔公式解初值问题dy/dx=x/y 2.0≤X ≤2.6 , 取h=0.2 y(2.0)=1。
数值分析实验指导

实验一 算法设计及误差分析1.1 实验目的○1根据给定的问题,给出稳定的算法,并分析误差的控制。
○2了解舍入误差所引起的数值不稳定性 1.2 实验内容 1、递推计算的稳定性 实验题目,1dx xa xI nn ⎰+=n=0,1, (10)其中a 为参数,分别对a=0.05及a=15按下列两种方法计算,列出结果,并对其可靠性进行分析比较,说明原因。
方案1:用递推公式,11n aII n n +-=- n=1,2,…,10递推初值可由积分直接得.1ln0aa I +=方案2:用递推公式),1(11nI aI n n +-=- n=1,...1,-N N根据估计式,)1(1)1)(1(1+<<++n a I n a n 当1+≥n n a或,1)1)(1(1n I n a n ≤<++ 当10+<≤n n a取递推初值])1(1)1)(1(1[21++++≈N a N a I N=,)1)(1(212_NIN a a a ∆+++ 当1+≥N N a或,]1)1)(1(1[21_NN INN a I ∆+++=当10+≤≤N N a2、不同方案收敛速度的比较实验题目三种求ln2的算法比较。
构造逼近ln2的数列,求出ln2的近似值,要求精度51021-⨯=ε,观察比较3种计算方案的收敛速度。
方案1:利用级数∑∞=--=+-+-=11)1( (4)1312112ln k k k设∑=--=nk k n kS 11)1(,则n S ≈2ln .方案2:对上述∑=--=nk k n kS 11)1(,按21212)(ˆ---+---=n n n n n nn S S S S S S S ,...,4,3=n 生成新数列n S ˆ,则n S ˆ2ln ≈方案3 利用级数∑∞==+⨯+⨯+⨯+⨯=143221 (2)412312212112ln k kk设∑==nk kn k S 121,则nS ≈2ln .实验二 插值方法2.1 实验目的① 掌握牛顿插值法的基本思路和步骤; ② 培养编程与上机调试能力。
数值分析实验指导书

《数值分析》实验指导书潍坊学院数学与信息科学学院2012年04月目录目录.............................................................................................. 错误!未定义书签。
实验一插值与曲线拟合的最小二乘法.................................. 错误!未定义书签。
实验二数值积分...................................................................... 错误!未定义书签。
实验三解线性方程组的直接法.............................................. 错误!未定义书签。
实验四解线性方程组的迭代法.............................................. 错误!未定义书签。
实验五非线性方程的数值解法.............................................. 错误!未定义书签。
实验六常微分方程数值解法.................................................... 错误!未定义书签。
实验一 插值与曲线拟合的最小二乘法一、实验目的:1.了解拉格朗日插值法、牛顿插值法、曲线拟合最小二乘法的基本原理和方法;2.掌握拉格朗日插值多项式牛顿插值多项式的用法;3.掌握最小二乘原理,会求拟合函数及超定方程组的最小二乘解。
二、实验内容:1.用拉格朗日插值公式和牛顿插值公式确定函数值;2.对函数f (x )进行拉格朗日插值和牛顿插值;3.利用Polyfit 拟合幂函数,利用Polyfit 拟合多项式。
三、实验过程:1.给定函数四个点的数据如下:117.2)1.5(,651.4)9.3(,276.4)3.2(,887.3).11(====f f f f ,试用插值公式确定函数在234.4,101.2=x 处的函数值)(x f 。
数值分析实验指导书

数值分析 课程实验指导书实验一 函数插值方法一、问题提出对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n ==。
试用Lagrange 公式求其插值多项式或分段二次Lagrange 插值多项式。
数据如下: (1)求五次Lagrange 多项式5L ()x ,和分段三次插值多项式,计算(0.596)f ,(0.99)f 的值。
(提示:结果为(0.596)0.625732f ≈, (0.99) 1.05423f ≈ )(试构造Lagrange 多项式6,计算的,值。
(提示:结果为(1.8)0.164762f ≈, (6.15)0.001266f ≈ )二、要求1、 利用Lagrange 插值公式00,()n ni n k k i i k k i x x L x y x x ==≠⎛⎫-= ⎪-⎝⎭∑∏编写出插值多项式程序;2、 给出插值多项式或分段三次插值多项式的表达式;3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;4、 对此插值问题用Newton 插值多项式其结果如何。
Newton 插值多项式如下:110,()()[,,]()k nnj k k j j kN x f x f x x x x -==≠=+∙-∑∏ 其中:0,0()()[,,]ki ki i j j j ik f x x x f x x ==≠-=∑∏三、目的和意义1、 学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;2、 明确插值多项式和分段插值多项式各自的优缺点;3、 熟悉插值方法的程序编制;4、 如果绘出插值函数的曲线,观察其光滑性。
四、实验学时:2学时五、实验步骤:1.进入C 或matlab 开发环境; 2.根据实验内容和要求编写程序; 3.调试程序; 4.运行程序;5.撰写报告,讨论分析实验结果.实验二 函数逼近与曲线拟合一、问题提出从随机的数据中找出其规律性,给出其近似表达式的问题,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。
数值分析实验指导书

dx(n?0,1,?,20)的递推关系,并在计算机上实现解题 建立积分In??05?x
nn?11x?5x11??xn?1dx?。建立下列两种递推公式: 提示:由In?5In?1??005?xn
111??I??5I?I??I??n?n?1n?1n?1(A)?n (B)?55n,讨论数值计算的稳定性
数字。
解 由?x?3.142?3.1415926???0.00041, 误差限为??1?10?3. 2
?3因m?0,n??3,由定义知x具有4位有效数字,准确到10位的近似数。
2例3 已知近似数a?1.2864,b?0.635,求b,a?b的误差限和准确数位。
解 因(?a)?11?10?4,(?b)??10?3, 22
1
2?3 ??bb??b?b?b?b?2b??b??2?0.635??10
所以 ?b1??10?2 2?10???1
22?2, b2准确到10?2位。
?(a?b)??a??b??(a)??(b)??10?2,则a?b准确到10?2位。
1.3 数值实验 12
xn
A. 0.5 B. 0.05
C. 0.005 D. 0.0005.
解 因 45.0?0.450?10,它为具有3位有效数字的近似数, 2
11?10?3?102??10?1。所以,答案为B. 22
*例2 已知x???3.1415926??, 求近似值x?3.142的误差限,准确数字或有效其误差限为 ??
数值分析实验指导
第一章 绪论
1.1 主要内容
误差的来源与分类:计算误差,截断误差(方法误差)
误差和误差限的概念及计算:绝对误差,绝对误差限,相对误差,相对误差限. 有效数位,有效数字的判断
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数值分析实验指导书实验一1.1 水手、猴子和椰子问题:五个水手带了一只猴子来到南太平洋的一个荒岛上,发现那里有一大堆椰子。
由于旅途的颠簸,大家都很疲惫,很快就入睡了。
第一个水手醒来后,把椰子平分成五堆,将多余的一只给了猴子,他私藏了一堆后便又去睡了。
第二、第三、第四、第五个水手也陆续起来,和第一个水手一样,把椰子分成五堆,恰多一只猴子,私藏一堆,再去入睡,天亮以后,大家把余下的椰子重新等分成五堆,每人分一堆,正好余一只再给猴子,试问原先共有几只椰子?试分析椰子数目的变化规律,利用逆向递推的方法求解这一问题(15621)。
1.2 设,105nn x I dx x=+⎰ (1)从0I 尽可能精确的近似值出发,利用递推公式:115(1,2,20)n n I I n n-=-+=计算机从1I 到20I 的近似值;(2)从30I 较粗糙的估计值出发,用递推公式:111(30,29,,3,2)55n n I I n n-=-+=计算从1I 到20I 的近似值;(3)分析所得结果的可靠性以及出现这种现象的原因。
1.3 绘制Koch 分形曲线问题描述:从一条直线段开始,将线段中间的三分之一部分用一个等边三角形的另两条边代替,形成具有5个结点的新的图形(图1-4);在新的图形中,又将图中每一直线段中间的三分之一部分都用一个等边三角形的另两条边代替,再次形成新的图形(图1-5),这时,图形中共有17个结点。
这种迭代继续进行下去可以形成Koch 分形曲线。
在迭代过程中,图形中的结点将越来越多,而曲线最终显示细节的多少取决于所进行的迭代次数和显示系统的分辨率。
Koch 分形曲线的绘制与算法设计和计算机实现相关。
问题分析:考虑由直线段(2个点)产生第一个图形(5个点)的过程,设1P 和5P 分别为原始直线段的两个端点。
现在需要在直线段的中间依次插入三个点234,,P P P 产生第一次迭代的图形(图1-4)。
显然,2P 位于1P 点右端直线段的三分之一处,4P 点绕2P 旋转60度(逆时针方向)而得到的,故可以处理为向量24P P 经正交变换而得到向量23P P ,形成算法如下:(1)2151()/3P P P P =+-; (2)41512()/3P P P P =+-;(3)T3242()P P P P A =+-⨯; 在算法的第三步中,A 为正交矩阵。
cos sin33sin cos33A ππππ⎡⎤-⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦; 这一算法将根据初始数据(1P 和5P 点的坐标),产生图1-4中5个结点的坐标。
这5个结点的坐标数组,组成一个5×2矩阵。
这一矩阵的第一行为为1P 的坐标,第二行为1P 的坐标,第二行为2P 的坐标……第五行为5P 的坐标。
矩阵的第一列元素分别为5个结点的x 坐标 ,第二列元素分别为5个结点的y 坐标。
问题思考与实验:(1)考虑在Koch 分形曲线的形成过程中结点数目的变化规律。
设第k 次迭代产生结点数为k n ,第1k +迭代产生结点数为1k n +,试写出k n 和1k n +之间的递推关系式;(2)参考问题分析中的算法,考虑图1-4到图1-5的过程,即由第一次迭代的5个结点的结点坐标数组,产生第二次迭代的17个结点的结点坐标数组的算法;(3)考虑由第k 次迭代的k n 个结点的结点坐标数组,产生第1k +次迭代的1k n +个结点的结点坐标数组的算法;(4)设计算法用计算机绘制出如下的Koch 分形曲线(图1-6)。
实验二2.1 用高斯消元法的消元过程作矩阵分解。
设20231812315A ⎡⎤⎢⎥=⎢⎥⎢⎥-⎣⎦消元过程可将矩阵A 化为上三角矩阵U ,试求出消元过程所用的乘数21m 、31m 、31m 并以如下格式构造下三角矩阵L 和上三角矩阵U(1)(1)212223(2)313233120231,1L m U a a m m a ⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦验证:矩阵A 可以分解为L 和U 的乘积,即A =LU 。
2.2 用矩阵分解方法求上题中A 的逆矩阵。
记1231000,1,0001b b b ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦分别求解方程组123,,AX b AX b AX b ===由于三个方程组系数矩阵相同,可以将分解后的矩阵重复使用。
对第一个方程组,由于A=LU ,所以先求解下三角方程组1b =LY ,再求解上三角方程组=UX Y ,则可得逆矩阵的第一列列向量;类似可解第二、第三方程组,得逆矩阵的第二列列向量的第三列列向量。
由三个列向量拼装可得逆矩阵1-A 。
2.3 验证希尔伯特矩阵的病态性:对于三阶矩阵11/21/31/21/31/41/31/41/5H ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦取右端向量T [11/613/1247/60]b =,验证:(1)向量T T 123[][111]X x x x ==是方程组b =HX 的准确解;(2)取右端向量b 的三位有效数字得T [1.83 1.080.783]b =,求方程组的准确解*X ,并与X 的数据T [111]作比较 。
说明矩阵的病态性。
实验三3.1 用泰勒级数的有限项逼近正弦函数0132353()sin ,[0,](),[0,/2]()/6,[0,/2]()/6/120,[0,/2]y x x x y x x x y x x x x y x x x x x ππππ=∈=∈=-∈=-+∈00.511.522.500.250.50.7511.251.5用计算机绘出上面四个函数的图形。
3.2 绘制飞机的降落曲线一架飞机飞临北京国际机场上空时,其水平速度为540km/h ,飞行高度为1 000m 。
飞机从距机场指挥塔的横向距离12 000m 处开始降落。
根据经验,一架水平飞行的飞机其降落曲线是一条三次曲线。
建立直角坐标系,设飞机着陆点为原点O ,降落的飞机为动点(,)P x y ,则x 表示飞机距指挥塔的距离,y 表示飞机的飞行高度,降落曲线为230123()y x a a x a x a x =+++ 该函数满足条件:(0)0,(12000)1000'(0)0,'(12000)0y y y y ====(1)试利用()y x 满足的条件确定三次多项式中的四个系数; (2)用所求出的三次多项式函数绘制出飞机降落曲线。
20004000600080001000020040060080010003.3 追赶曲线的计算机模拟问题描述:欧洲文艺复兴时期的著名人物达·芬奇曾经提出一个有趣的“狼追兔子”问题,当一只兔子正在它的洞穴南面60码处觅食时,一只饿狼出现在兔子正东的100码处。
兔子急忙奔向自己的洞穴,狼立即以快于兔子一倍的速度紧追兔子不放。
兔子一旦回到洞穴便逃脱厄,问狼是否会追赶上兔子?这一问题的研究方法可以推广到如鱼雷追击潜艇、地对空导弹击飞机等问题上去。
在对真实系统做实验时,可能时间太长、费用太高、危险太大、甚至很难进行。
计算机模拟是用计算机模仿实物系统,对系统的结构和行为进行动态演示,以评价或预测系统的行为效果。
根据模拟对象的不同特点,分为确定性模拟和随机性模拟两大类。
模拟通常所用的是时间步长法,即按照时间流逝的顺序一步一步对所研究的系统进行动态演示,以提取所需要的数据。
问题分析:首先计算狼的初始位置到兔子洞穴的直线距离:2210060116.6190D =+≈由于狼奔跑的速度是兔子速度的两倍,兔子跑60码的时间狼可以跑120码。
如果狼沿直线奔向兔窝,应该是可以追上兔子的。
但是,有人推导出狼在追赶兔子过程中的运动曲线为31221200()10303y x x x =-+根据曲线方程,当0x =时,200/3y =。
也就是说,在没有兔窝的情况下兔子一直往北跑,在跑到大约66码处将被狼追上。
由此可知,在有兔窝时狼是追赶不上兔子的。
用计算机模拟的方法也可以得到同样的结论。
取时间步长为1s ,随时间步长的增加,考虑这一系统中的各个元素(狼和兔子)所处的位置变化规律,用计算机作出模拟。
最后,根据第60s 时狼所在的位置的坐标,判断狼是否能追上兔子。
问题思考与实验:(1)设兔子奔跑的速度为01m/s υ=,则狼运动的速度为102υυ=。
建立平面直角坐标系,若当k t t =时刻,兔子位于点0(0,)k k Q t υ处,狼位于点(,)k k k P x y 处。
试根据k P ,k Q 的坐标确定一个单位向量k e 描述狼在1[,]k k t t +时段内的运动方向。
(2)根据狼的运动方向和速度推导(,)k k k P x y 到111(,)k k k P x y +++的坐标的具体表达式;(3)用计算机绘制追赶曲线的图形(包括静态和动态的图形)。
实验四4.1 曾任英特尔公司董事长的摩尔先生早在1965年时,就观察到一件很有趣的现象:集成电路上可容纳的零件数量,每隔一年半左右就会增长一倍,性能也提升一倍。
因而发表论文,提出了大大有名的摩尔定律(Moore’s Law),并预测未来这种增长仍会延续下去。
下面数据中,第二行数据为晶片上晶体数目在不同年代与1959年时数目比较的倍数。
这些数据是推出摩尔定律的依据:年代1959 1962 1963 1964 1965增加倍数 1 3 4 5 6试从表中数据出发,推导线性拟合的函数表达式。
4.2 参考算法4.2设计绘制Bezier曲线的程序,选取四个点的坐标数据作为控制点绘制飞机机翼剖面图草图的下半部分图形;结合例4.4中上半部分图形绘出完整的机翼草图。
最后写出机翼剖面图曲线上20个点处的坐标数据。
4.3 神经元模型用于蠓的分类识别(MCM1989A题)问题描述:生物学字试图对两类蠓虫(Af与Apf)进行鉴别,依据的资料是蠓虫的触角和翅膀的长度,已经测得9只Af和6只Apf的数据(触角长度用x表示,翅膀长度用y表示)Af数据x 1.24 1.36 1.38 1.38 1.38 1.40 1.48 1.54 1.56 Y 1.27 1.74 1.64 1.82 1.90 1.70 1.82 1.82 2.08Apf数据x 1.14 1.18 1.20 1.26 1.28 1.30Y 1.78 1.96 1.86 2.00 2.00 1.96 现需要解决三个问题:(1)如何凭借原始资料(15对数据,被称之为学习样本)制定一种方法,正确区分两类蠓虫;(2)依据确立的方法,对题目提供的三个样本:(1.24,1.80),(1.28,1.84),(1.40,2.04)加以识别;(3)设Af是宝贵的传粉益虫,Apf是某种疾病的载体,是否应该修改分类方法。
问题分析:首先画出15对数据的散点图,其中,Af用*标记,Apf用×标记。