数值计算基础实验指导书.doc
- 格式:doc
- 大小:134.00 KB
- 文档页数:13
第一章 绪论一、主要要求通过实验,认真理解和体会数值计算的稳定性、精确性与步长的关系。
二、主要结果回顾:1、算法:电子计算机实质上只会做加、减、乘、除等算术运算和一些逻辑运算,由这些基本运算及运算顺序规定构成的解题步骤,称为算法.它可以用框图、算法语言、数学语言或自然语言来描述。
用计算机算法语言描述的算法称为计算机程序。
(如c —语言程序,c++语言程序,Matlab 语言程序等)。
2、最有效的算法:应该运算量少,应用范围广,需用存储单元少,逻辑结构简单,便于编写计算机程序,而且计算结果可靠。
3、算法的稳定性:一个算法如果输入数据有误差,而在计算过程中舍入误差不增长,则称此算法是数值稳定的,否则称此算法为不稳定的。
换句话说:若误差传播是可控制的,则称此算法是数值稳定的,否则称此算法为不稳定的。
4、控制误差传播的几个原则: 1)防止相近的两数相减; 2)防止大数吃小数;3)防止接近零的数做除数;4)要控制舍入误差的累积和传播;5)简化计算步骤,减小运算次数,避免误差积累。
三、数值计算实验(以下实验都需利用Matlab 软件来完成) 实验1.1(体会数值计算精度与步长关系的实验)实验目的:数值计算中误差是不可避免的,要求通过本实验初步认识数值分析中两个重要概念:截断误差和舍入误差,并认真体会误差对计算结果的影响。
问题提出:设一元函数f :R →R ,则f 在x 0的导数定义为:hx f h x f x f h )()(lim)('0000-+=→实验内容:根据不同的步长可设计两种算法,计算f 在x 0处的导数。
计算一阶导数的算法有两种:h x f h x f x f )()()('000-+≈ (1)hh x f h x f x f 2)()()('000--+≈(2)请给出几个计算高阶导数的近似算法,并完成如下工作:1、对同样的h ,比较(1)式和(2)式的计算结果;2、针对计算高阶导数的算法,比较h 取不同值时(1)式和(2)式的计算结果。
第1篇一、实验目的1. 理解数值计算的基本概念和常用算法;2. 掌握Python编程语言进行数值计算的基本操作;3. 熟悉科学计算库NumPy和SciPy的使用;4. 分析算法的数值稳定性和误差分析。
二、实验内容1. 实验环境操作系统:Windows 10编程语言:Python 3.8科学计算库:NumPy 1.19.2,SciPy 1.5.02. 实验步骤(1)Python编程基础1)变量与数据类型2)运算符与表达式3)控制流4)函数与模块(2)NumPy库1)数组的创建与操作2)数组运算3)矩阵运算(3)SciPy库1)求解线性方程组2)插值与拟合3)数值积分(4)误差分析1)舍入误差2)截断误差3)数值稳定性三、实验结果与分析1. 实验一:Python编程基础(1)变量与数据类型通过实验,掌握了Python中变量与数据类型的定义方法,包括整数、浮点数、字符串、列表、元组、字典和集合等。
(2)运算符与表达式实验验证了Python中的算术运算、关系运算、逻辑运算等运算符,并学习了如何使用表达式进行计算。
(3)控制流实验学习了if-else、for、while等控制流语句,掌握了条件判断、循环控制等编程技巧。
(4)函数与模块实验介绍了Python中函数的定义、调用、参数传递和返回值,并学习了如何使用模块进行代码复用。
2. 实验二:NumPy库(1)数组的创建与操作通过实验,掌握了NumPy数组的基本操作,包括创建数组、索引、切片、排序等。
(2)数组运算实验验证了NumPy数组在数学运算方面的优势,包括加、减、乘、除、幂运算等。
(3)矩阵运算实验学习了NumPy中矩阵的创建、操作和运算,包括矩阵乘法、求逆、行列式等。
3. 实验三:SciPy库(1)求解线性方程组实验使用了SciPy库中的线性代数模块,通过高斯消元法、LU分解等方法求解线性方程组。
(2)插值与拟合实验使用了SciPy库中的插值和拟合模块,实现了对数据的插值和拟合,并分析了拟合效果。
数值分析实验指导书考核标准:及格:独立完成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 +++++=现需要建立椭圆的方程以供研究。
数值分析课程实验指导书太原科技大学应用科学学院数学系目录前言 (1)第一部分数值实验报告格式 (1)第二部分数值实验报告范例 (2)第三部分数值实验 (6)数值实验一 (6)数值实验二 (8)数值实验三 (10)数值实验四 (12)数值实验五 (13)数值实验六 (16)数值实验七 (17)第四部分MATLAB入门 (19)前言该实验指导书是《数值分析》课程的配套数值实验教材。
《数值分析》是理工科大学本科生与硕士研究生的必修课程,学习本课程的最终目的,是用计算机解决科学和工程实际中的数值计算问题,因此熟练地在计算机上实现算法是必备的基本技能。
数值实验是数值分析课程中不可缺少的部分,利用计算机进行数值实验,以消化巩固所学的内容,增加对算法的可靠性、收敛性、稳定性及效率的感性认识,体会和重视算法在计算机上实验时可能出现的问题。
学生通过选择算法、编写程序、分析数值结果、写数值实验报告等环节的综合训练,逐步掌握数值实验的方法和技巧,获得各方面的数值计算经验,培养学生运用所学算法解决实际问题和进行理论分析的能力。
该实验指导书由王希云、刘素梅、王欣洁、李晓峰等老师编写。
第一部分数值实验报告格式一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下:一、实验名称实验者可根据报告形式需要适当写出。
二、实验目的及要求首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出。
三、算法描述(实验原理与基础理论)数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出。
四、实验内容实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备。
数值计算方法与算法第三版答案数值计算方法学习指导书数值计算方法学习指导书是怎么样的?以下是小编分享给大家的数值计算方法学习指导书简介的资料,希望可以帮到你!数值计算方法学习指导书内容简介《数字信号处理学习指导》是浙江省高等教育重点建设教材、应用型本科规划教材《数字信号处理》(唐向宏主编,浙江大学出版社出版,以下简称教材)的配套学习指导书,内容包括学习要求、例题分析、教材习题解答、自测练习以及计算机仿真实验等。
学习指导书紧扣教材内容,通过例题讲解,分析各章节的学习重点、难点以及需要理解、掌握和灵活运用的基本概念、基本原理和基本方法。
全书共有66例例题分析、121题题解、2套自测练习和6个MAT1AB计算机仿真实验。
数值计算方法学习指导书目录绪论第1章离散时间信号与系统1.1 学习要点1.2 例题1.3 教材习题解答第2章离散系统的变换域分析与系统结构2.1 学习要点2.2 例题2.3 教材习题解答第3章离散时间傅里叶变换3.1 学习要点3.2 例题3.3 教材习题解答第4章快速傅里叶变换4.1 学习要点4.2 例题4.3 教材习题解答第5章无限长单位冲激响应(IIR)数字滤波器的设计5.1 学习要点5.2 例题5.3 教材习题解答第6章有限长单位冲激响应(FIR)数字滤波器的设计6.1 学习要点6.2 例题6.3 教材习题解答第7章数字信号处理中的有限字长效应7.1 学习要点7.2 例题7.3 教材习题解答第8章自测题8.1 自测题(1)及参考答案8.2 自测题(2)及参考答案第9章基于MA TLAB的上机实验指导9.1 常见离散信号的MA TLAB产生和图形显示9.2 信号的卷积、离散时间系统的响应9.3 离散傅立叶变换9.4 离散系统的频率响应分析和零、极点分布9.5 IIR滤波器的设计9.6 FIR滤波器的设计数值计算方法学习指导书内容文摘第1章离散时间信号与系统1.1 学习要点本章主要介绍离散时间信号与离散时间系统的基本概念,着重阐述离散时间信号的表示、运算,离散时间系统的性质和表示方法以及连续时间信号的抽样等。
数值实验报告一、实验名称误差传播与算法稳定性 二、实验目的1.理解数值计算稳定性的概念。
2.了解数值计算方法的必要性。
3.体会数值计算的收敛性与收敛速度。
三、实验内容计算dx x x I nn ⎰+=110,1,2,,10n =四、算法描述 由 dx x x I nn ⎰+=110,知 dx x x I n n ⎰+=--101110则ndx x dx x x x I I n n n n n 1101010101111==++=+⎰⎰---可得递推关系 1.=n I 1101--n I n,10,,2,1 =n 2.)1(1011n n I nI -=- ,1,,9,10 =n 下面分别以1,2递推关系求解 方案1 =n I 1101--n I n,10,,2,1 =n 当0=n 时,=+=⎰dx x I 10101㏑=1011㏑1.1 , 递推公式为⎪⎩⎪⎨⎧==-=-1.1ln 10,,2,1,10101I n I nI n n (1) 方案2 )1(1011n n I nI -=- ,1,,9,10 =n 当10<<x 时, n n n x x x x 10110111≤+≤则dx x dx x x dx x n n n 1011011110101⎰⎰⎰≤+≤即)1(101)1(111+≤≤+n I n n 取递推初值 )110(22021])110(101)110(111[2110+=+++≈I 递推公式为⎪⎪⎩⎪⎪⎨⎧+==-=-)110(220211,,9,10),1(101101I n I n I n n (2)取递推公式(1)中的初值095310.01.1ln 0≈=I ,得⎪⎩⎪⎨⎧≈=-=-095310.010,,2,1 ,10101I n I nI n n取递推公式(2)中的初值008678.010≈I ,得⎪⎩⎪⎨⎧≈=-=-008678.01,,9,10),1(101101I n I nI n n 五、程序流程图由于实验方案明显、简单,实现步骤及流程图省略。
计算方法实验指导书(学生用书)实验一 非线性方程的迭代数值解法一、实验目的1) 熟悉用牛顿法解非线性方程的过程;熟悉用弦截法求解非线性方程的过程2) 编程实现牛顿法、弦截法求非线性方程的根。
二、实验设备PC 机一台,C 语言、PASCAL 语言、Matlab 任选三、实验内容1)用牛顿法求解01553=-x 的根,取初始值为10。
2) 用弦截法求解数学方程。
010*15.110*4.181.9*002.0)(255.15=--=--x x x f四、实验要求1) 认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法;2) 编写上机实验程序,作好上机前的准备工作;3) 上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);4) 分析和解释计算结果;5) 按照要求书写实验报告;实验二插值法一、实验目的1、掌握直接利用拉格郎日插值多项式计算函数在已知点的函数值;观察拉格郎日插值的龙格现象。
2、了解Hermite插值法、三次样条插值法原理,结合计算公式,确定函数值。
二、实验设备PC机一台,C语言、PASCAL语言、Matlab任选三、实验内容1) 用拉格郎日插值公式确定函数值;对函数f(x)进行拉格郎日插值,并对f(x)与插值多项式的曲线作比较。
已知函数表:(0.56160,0.82741)、(0.56280,0.82659)、(0.56401,0.82577)、(0.56521,0.82495)用三次拉格朗日插值多项式求x=0.5635时函数近似值。
2) P129,(12)四、实验要求1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法;2)编写上机实验程序,作好上机前的准备工作;3)上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);4)分析和解释计算结果;5)按照要求书写实验报告;实验三曲线拟合的最小二乘法一、实验目的在科学研究与工程技术中,常常需要从一组测量数据出发,寻找变量的函数关系的近似表达式,使得逼近函数从总体上与已知函数的偏差按某种方法度量能达到最小而又不一定过全部的点。
数值计算方法(一)实验指导书一、基本情况· 课程名称:数值计算方法(一)· 课程编号:01024002, 01025002, 01825059, 01826059 · 课程学时:授课 50学时, 上机实验 20学时· 适用专业:信息与计算科学、数学与应用数学、数学物理力学综合班等理科本科生· 使用教材:《数值计算方法(一)》 上海大学数学系编 · 数值实验:1)Lagrange 插值多项式 2) Newton 差商插值法 3)Aitken 逐次线性插值法4)等距节点情况下的Newton 差分插值法 5)两点三次Hermite 插值法6)Lagrange 插值余项的极小化法求近似最佳一致逼近多项式 7)Newton-cotes 型求积公式 8)Romberg 算法9)Gauss 型求积公式 10)Remes 算法(机动)· 实验环境:装有FORTRAN 4.0以上系统或C 语言系统的微型计算机· 实验要求: 在上机实验时完成相应实验的算法的程序编制,并上机运行,学会应用这些算法于实际问题,以便对算法有更进一步的认识和理解。
考 察和体会数值计算中出现的一些问题和现象: 误差的估计,算法的稳 定性、收敛性、收敛速度以及迭代初值对收敛的影响等。
二、实验内容(一)实验一:Lagrange 插值多项式1、目的:学会Lagrange 插值算法,并应用算法于实际问题;观察Lagrange 插值的龙格现象。
2、例题:1)取正弦函数x x f sin )( ;2)取函数 ]5,5[,15)(2-∈+=x xx f3、要求:要求n 用键盘输入,程序具有通用性.1)以0.32,0.34,0.36为节点,分别用线性插值和抛物插值求正弦函数在0.3367处的近似值;线性插值场合,比较内插与外插.2)分别取节点数 20,10,5===n n n 的等距节点为插值点,构造出 )(x L n ,并画出其图形,与 )(x f 的图形比较;观察在5±=x 附近的现象,写出分析结果。
《数值计算法方法》实验指导书实验一插值法 (2)实验二曲线拟合的最小二乘法 (5)实验三矩阵的特征值和特征向量 (8)实验四数值积分 (11)实验一 插值法一、 实验目的1.掌握拉格朗日插值、牛顿插值、分段低次插值和样条插值的方法。
2.对四种插值结果进行初步分析。
二、 实验内容插值问题的提法是: 给定函数)(x f 在],[b a 中互异1+n 个点n x x x x ,,,,210 的函数值),,1,0()(n i x f y i i ==或nny y y y yx x x x x210210求函数)(x Φ使其在i x 处与i i y x f =)(相等。
称)(x Φ为)(x f 的插值函数,],[b a 为插值区间,i x 为插直节点,)(x f 为被插函数。
1. 拉格朗日插值插值基函数:)(,),(),(),(210x l x l x l x l n 为n 次多项式∏≠=+-+---=--------=nkj j jk j n k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x l ,0110110)())(()()())(()()(插值基函数的性质: (1)),,1,0(01)(n k ki k i x l i k =⎩⎨⎧≠== (2)(2)),,1,0()(n k x l k =为插值节点n x x x x ,,,,210 唯一确定的n 次多项式。
(3)拉格朗日插值所包含基函数个数与插值节点个数相同。
2. 牛顿插值线性插值可用插商形式表示为],[)()()()()(10000010101x x f x x x f x x x x y y x f x p -+=---+=由差商的定义知],[)()()(000x x f x x x f x f -+=],,[)(),(],[101100x x x f x x x x f x x f -+= …………],,,[)(],,,[],,,[01010n n n n x x x f x x x x x f x x x f -+=- 将上式依次代入得:+--+-+=],,[))((],[)()()(10101000x x x f x x x x x x f x x x f x f ],,,[)())((10110n n x x x f x x x x x x ----+ ],,,[)())((010n n x x x f x x x x x x ---+取 +--+-+=))(](,,[)](,[)()(102100100x x x x x x x f x x x x f x f x N n )())(](,,,[11010----+n n x x x x x x x x x f ],,,[)())(()(010n n n x x x f x x x x x x x R ---= ],,,[)(01n n x x x f x +=ω 所以 )()()(x R x N x f n n +=且 0],,,[)()(01==+n i i n i n x x x f x x R ω 3. 分段低次插值给定函数)(x f 在],[b a 中互异1+n 个点n x x x x ,,,,210 的函数值),,2,1(n i y i =,若要求)(x f 的近似函数)(x Φ,可求一分段函数,使其在每一小区间],[1i i x x -上为线性插值函数,即 ],[)()(111111i i ii i i i i i i x x x y x x x x y x x x x x L x -----∈--+--==Φ称为分段线性插值,即用折线代替曲线。
数值计算基础实验指导书2013年目录实验一直接法解线性方程组的 (1)实验二插值方法 (20)实验三数值积分 (7)实验四常微分方程的数值解 (11)实验五迭代法解线性方程组与非线性方程 (16)实验一 直接法解线性方程组一、实验目的掌握列选主元消去法与追赶法解线性方程组。
二、实验内容分别写出Guass 列选主元消去法与追赶法的算法,编写程序上机调试出结果,要求所编程序适用于任何一解线性方程组问题,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
1、用Guass 列选主元消去法求解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--5.58.37.33.47.11.85.16.93.51.53.25.2321x x x2、用追赶法求解方程组⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-----000010210000210000210000210000254321x x x x x 三、实验仪器设备与材料主流微型计算机四、实验原理1、Guass 列选主元消去法 对于AX =B1)、消元过程:将(A|B )进行变换为)~|~(B A ,其中A ~是上三角矩阵。
即:⎪⎪⎪⎪⎪⎭⎫⎝⎛→⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n nnnn n nnn n nn b a b a b a a b a a a b a a a b a a a010122111221222221111211 k 从1到n-1a 、 列选主元选取第k 列中绝对值最大元素ik ni k a ≤≤max 作为主元。
b 、 换行ik ij kj b b n k j a a ⇔+=⇔,,1,c 、 归一化 kkk k kj kk kj b a b n k j a a a ⇒+=⇒/,,1,/d 、 消元nk i b b a b n k j n k i a a a a i k ik i ij kj ik ij ,,1,,,1;,,1, +=⇒-+=+=⇒-2)、回代过程:由)~|~(B A 解出11,,,x x x n n -。
数值计算方法实验指导书陕西科技大学信息与计算科学教研室目录实验1代数插值实验〔一〕 (1)实验2代数插值实验〔二〕 (4)实验3数据拟合实验7实验4数值积分实验9实验5解非线性方程实验 (11)实验6解线性方程组实验 (13)实验7解非线性方程组实验 (15)实验8解常微分方程组---导弹跟踪问题仿真实验 (17)实验0 Matlab根底实验专业班级学号姓名成绩.实验类型:●验证性实验○综合性实验○设计性实验实验目的:熟悉MATLAB系统的启动、退出、演示系统、帮助系统、MATLAB的运行环境,掌握Matlab矩阵及其运算根底知识实验内容:矩阵的建立、矩阵的拆分、特殊矩阵、矩阵求逆,求行列式的值,矩阵算符及其表达式表示和计算、常用数学函数、画图函数应用实验报告:根据实验情况和结果撰写并递交实验报告。
1实验1代数插值实验〔一〕型:●性○合性○性目的:一步熟掌握Lagrange插算法,提高程能力和解决插的践技能。
内容:依照Lagrange算法写基于N+!个点的(x k,y k)N k0的N次Lagrange插多式系数算的程序原理N+!个点的(x k,y k)k N0N N算Lagrange插基函数L N,K(x)((x x j))/((x k x j)(k=0,⋯,N)j0j0jk算N次Lagrange插多式函数P(x)=Ny k L N,k(x)k 0明需要建立两个数X,Y分存放〔x1,⋯,x n),〔y1,⋯,y n)需要考多式乘运算的算法或者函数。
步要求上机前先写出程序代入程序程序并程中出的及修改程序的程反复后,运行程序并程序运行是否正确。
运行的入和出。
实验报告:根据实验情况和结果撰写并递交实验报告。
参考程序〔MATLAB程序〕function[C,L]=lagran(X,Y)%Input -Xisavectorthatcontainsalistofabscissas% -Yisavectorthatcontainsalistofordinates%Output-Cisamatrixthatcontainsthecoefficentsof% theLagrangeinterpolatorypolynomial% -LisamatrixthatcontainstheLagrange% coefficientpolynomials%NUMERICALMETHODS:MatlabPrograms(c)2004byJohnH.MathewsandKurtisD.FinkComplementarySoftwaretoaccompanythetextbook:NUMERICALMETHODS:UsingMatlab,FourthEdition2ISBN:0-13-065248-2Prentice-HallPub.Inc.OneLakeStreetUpperSaddleRiver,NJ07458w=length(X);n=w-1;L=zeros(w,w);%FormtheLagrangecoefficientpolynomialsfork=1:n+1V=1;forj=1:n+1ifk~=jV=conv(V,poly(X(j)))/(X(k)-X(j));endendL(k,:)=V;end%DeterminethecoefficientsoftheLagrangeinterpolator%polynomial C=Y*L;3实验2代数插值实验〔二〕型:●性○合性○性目的:一步熟掌握spline(条)插算法,提高程能力和解决插的践技能。
《实用数值计算方法》实验指导书目录前言 (2)一.上机实验环境 (3)二.上机要求和步骤 (3)三.实验内容 (3)实验一线性方程组求解 (3)实验二Lagrange插值多项式 (4)实验三最小二乘法曲线拟合 (5)实验四数值积分 (6)实验五常微分方程的数值解法 (6)实验六非线性方程求根 (7)实验七 的近似计算 (7)前言随着当代计算科学领域的不断扩大,对生物、材料科学等的深入研究使得应用数学、计算数学日益成为不可分割的部分。
如何建立自然现象的数学模型,如何处理自然界的随机现象和复杂现象,如何考虑模型中典型参数的渐近行为,以及如何针对具体问题设计数值格式并进行数值分析,已经成为当代应用与计算数学领域的基本问题与基本模式。
在科学研究与工程技术中,经常需要从复杂的数学公式获得有用的数据来完成实验或工程设计。
《计算方法》的任务就是要将复杂的数学问题转化为计算机可解的数值计算问题。
本实验课程开设的主要目的是通过学生的上机实验,加深学生对基本概念、公式和定理的理解和实际运用。
重点掌握插值、拟合、数值积分、方程(非线性方程、线性方程组、微分方程等)的数值求解方法,提高科学计算能力和计算机应用水平,为以后的科研、工作打下良好的基础。
一.上机实验环境装有matlab语言系统的微型计算机。
二.上机要求和步骤(1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法。
(2)编写上机实验程序,作好上机前的准备工作;然后上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);在上机实验时完成相应实验的算法的程序编制,并上机运行,学会应用这些算法于实际问题,以便对算法有更进一步的认识和理解。
(4)分析和解释计算结果,考察和体会数值计算中出现的一些问题和现象:误差的估计,算法的稳定性、收敛性、收敛速度以及迭代初值对收敛的影响等等。
(5)按照要求书写实验报告,实验报告由以下几个部分组成:实验题目、所用方法、实现算法、输入和输出说明、算法与实现程序、运行结果、结果分析。
《数学实验》上机指导书实验题目实验一解方程和方程组与极限运算一、实验目的(1)掌握Mathematica软件的计算器功能;(2)学会使用Mathematica软件求各种类型方程(或方程组)的数值解和符号解;(3)通过本实验深刻理解极限概念;(4)学习并掌握利用Mathematica求极限的基本方法。
二、预备知识(1)方程(或方程组)代数解法的基本理论,函数的零点,方程(或方程组)的解及数值解;(2)本实验所用命令:●用“= =”连接两个代数表达式构成一个方程●求方程(组)的代数解:Solve[方程或方程组,变量或变量组]●求方程(组)的数值解:NSolve[方程或方程组,变量或变量组]●从初始值开始搜索方程或方程组的解:FindRoot[方程或方程组,变量或变量组初值]●在界定范围内搜索方程或方程组的解:FindRoot[方程或方程组,变量或变量组范围]●绘图命令:Plot[表达式,{变量,上限,下限},可选项]●微分方程求解命令:DSolve[微分方程,y[x],x](3)极限、左极限、右极限的概念;(4)本实验所用Mathematica 有关命令:●Limit[expr , x ->x 0] 求表达式在0x x →时的极限 ● Limit[expr ,x ->x 0,Direction -> 1] 求左极限 ●Limit[expr ,x ->x 0,Direction ->-1] 求右极限三、实验内容与要求(1)计算54564546⨯;4567646545。
(2)对于方程0342234=+--x x x ,试用Solve 和NSolve 分别对它进行求解,并比较得到的结果,体会代数解即精确解与数值解的差别。
(3)先观察函数x x x f cos sin )(-=的图形,然后选择一个初始点求解,并且根据图形确定在某个区间中搜索它的零点。
(4)求方程组⎩⎨⎧=+=+222111c y b x a c y b x a 的解,然后代入系数和常数项的一组初值,并求解。
数值计算基础实验指导书2012年目录实验一直接法解线性方程组的 (1)实验二插值方法 (4)实验三数值积分 (6)实验四常微分方程的数值解 (8)实验五迭代法解线性方程组与非线性方程 (10)实验一 直接法解线性方程组一、实验目的掌握列选主元消去法与追赶法解线性方程组。
二、实验内容分别写出Guass 列选主元消去法与追赶法的算法,编写程序上机调试出结果,要求所编程序适用于任何一解线性方程组问题,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
1、用Guass 列选主元消去法求解方程组⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--5.58.37.33.47.11.85.16.93.51.53.25.2321x x x2、用追赶法求解方程组⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-----000010210000210000210000210000254321x x x x x 三、实验仪器设备与材料主流微型计算机四、实验原理1、Guass 列选主元消去法 对于AX =B1)、消元过程:将(A|B )进行变换为)~|~(B A ,其中A ~是上三角矩阵。
即:⎪⎪⎪⎪⎪⎭⎫⎝⎛→⎪⎪⎪⎪⎪⎭⎫ ⎝⎛n nn nnn nnn n nn b a b a b a a b a a a b a a a b a a a0010122111221222221111211 k 从1到n-1a 、 列选主元选取第k 列中绝对值最大元素ik ni k a ≤≤max 作为主元。
b 、 换行ik ij kj b b n k j a a ⇔+=⇔,,1,c 、 归一化 kkk k kj kk kj b a b n k j a a a ⇒+=⇒/,,1,/d 、 消元nk i b b a b n k j n k i a a a a i k ik i ij kj ik ij ,,1,,,1;,,1, +=⇒-+=+=⇒-2)、回代过程:由)~|~(B A 解出11,,,x x x n n -。
1,2,,1,/1-=⇒-⇒∑+=n k x x a b x a b k nk j j kj k nnn n2、追赶法 线性方程组为:⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛-----n n n n n nn n n f f f f f x x x x x a b c a b c a b c a b c a 132********33322211做LU 分解为:⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=⎪⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛=-1111,12133221n n n R L βββαγαγαγα分解公式:⎪⎪⎪⎩⎪⎪⎪⎨⎧-===-====-)1,,2,1(),,3,2(,),,3,2(111n i c n i b b n i a i i i i i i i i i αββγααγ 则⎩⎨⎧==⇒=⇒=y Ux fLy f LUx f Ax 回代公式:⎪⎪⎩⎪⎪⎨⎧=-==-),,3,2(1111n i y f y f y i i i i i αγα⎩⎨⎧--=-==+)1,,2,1(1n n i x y x y x i i i i n n β五、实验步骤1、理解并掌握列选主元消去法与追赶法;2、画出列选主元消去法与追赶法的流程图3、使用C 语言编写出相应的程序并调试验证通过六、实验报告要求1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、实验内容、程序流程图、源程序、运行结果及实验小结六个部分。
2、源程序需打印后粘贴在实验报告册内;3、运行结果以屏幕截图形式保存并打印后粘贴在实验报告册内。
七、实验注意事项注意如何定义数据结构以保存矩阵和解以降低算法的复杂性。
八、思考题若使用全主元消去法,在编程中应如何记录保存对于未知数的调换。
实验二 插值方法一、实验目的掌握拉格郎日插值法与牛顿插值法构造插值多项式。
二、实验内容分别写出拉格郎日插值法与牛顿插值法的算法,编写程序上机调试出结果,要求所编程序适用于任何一组插值节点,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
已知下列函数表求x=0.5635时的函数值。
三、实验仪器设备与材料主流微型计算机四、实验原理已知n 个插值节点的函数值,则可由拉格郎日插值公式与牛顿插值公式构造出插值多项式,从而由该插值多项式求出所要求点的函数值。
拉格郎日插值公式与牛顿插值公式如下:1、Lagrange 插值公式)()(...)()()(01100x l y y x l y x l y x l x L nk k k n n n ∑==+++=∏≠=+-+---=----------=n kj j jk j n k k k k k k k n k k k x x x x x x x x x x x x x x x x x x x x x x x x x l 011101110)())(())(()())(())(()( 2、Newton 插值公式)())(](,,[))(](,,[)](,[)()(11010102100100----++--+-+=n n n x x x x x x x x x f x x x x x x x f x x x x f x f x N五、实验步骤1、理解并掌握拉格郎日插值法与牛顿插值法的公式;2、画出拉格郎日插值法与牛顿插值法算法的流程图;3、使用C 语言编写出相应的程序并调试验证通过。
六、实验报告要求1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、实验内容、程序流程图、源程序、运行结果及实验小结六个部分。
2、源程序需打印后粘贴在实验报告册内;3、运行结果以屏幕截图形式保存并打印后粘贴在实验报告册内。
七、实验注意事项Newton插值法在编程时应注意定义何种数据结构以保存差商。
八、思考题比较Lagrange插值法与Newton插值法的异同。
实验三 数值积分一、实验目的掌握复化梯形法与龙贝格法计算定积分。
二、实验内容分别写出变步长梯形法与Romberge 法计算定积分的算法,编写程序上机调试出结果,要求所编程序适用于任何类型的定积分,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
求00001.0,sin 10≤⎰εdx x x。
三、实验仪器设备与材料主流微型计算机四、实验原理通过变步长梯形法与龙贝格法,我们只要知道已知n 个求积节点的函数值,则可由相应的公式求出该函数的积分值,从而不需要求该函数的原函数。
变步长梯形法与龙贝格法公式如下:1、变步长梯形法∑∑-=-=+++=+=11101)]()(2)([2)]()([2n i i n i i i n b f x f a f hx f x f hT∑-=++=12/12)(221n i i n nx f h T T用ε≤-n n T T 2来控制精度 2、龙贝格法14)1()(4)1(11---=---m m m m m k T k T k T用ε≤--)1()0(1m m T T 来控制精度五、实验步骤1、理解并掌握变步长梯形法与龙贝格法的公式;2、画出变步长梯形法与龙贝格法的流程图3、使用C 语言编写出相应的程序并调试验证通过六、实验报告要求1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、实验内容、程序流程图、源程序、运行结果及实验小结六个部分。
2、源程序需打印后粘贴在实验报告册内;3、运行结果以屏幕截图形式保存并打印后粘贴在实验报告册内。
七、实验注意事项在⎰10sin dx x x积分中,被积函数在x=0点函数值为1,对该点在程序设计中应注意对其的定义。
八、思考题使用复化梯形法与复化Simpson 法来计算该问题有何缺点?实验四 常微分方程的数值解一、实验目的掌握改进欧拉法与四阶龙格-库塔求解一阶常微分方程的初值问题。
二、实验内容分别写出改进欧拉法与四阶龙格-库塔求解的算法,编写程序上机调试出结果,要求所编程序适用于任何一阶常微分方程的数值解问题,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
求⎩⎨⎧≤≤=-=')50(2)0(2x y xy y 步长h=0.25。
三、实验仪器设备与材料主流微型计算机四、实验原理常微分方程的数值解主要采用“步进式”,即求解过程顺着节点排列次序一步一步向前推进,在单步法中改进欧拉法和四阶龙格-库塔法公式如下:1、改进欧拉法),(1n n n n y x hf y y +=+)],(),([2111+++++=n n n n n n y x f y x f hy y2、四阶龙格-库塔法⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧++=++=++==++++=+),()2,2()2,2(),()22(6342312143211hk y h x f k k h y h x f k k h y h x f k y x f k k k k k h y y n n n n nn n n n n 五、实验步骤1、理解并掌握改进欧拉法与四阶龙格-库塔法的公式;2、画出改进欧拉法与四阶龙格-库塔法的流程图3、使用C 语言编写出相应的程序并调试验证通过六、实验报告要求1、统一使用《武汉科技大学实验报告》本书写,实验报告的内容要求有:实验目的、实验内容、程序流程图、源程序、运行结果及实验小结六个部分。
2、源程序需打印后粘贴在实验报告册内;3、运行结果以屏幕截图形式保存并打印后粘贴在实验报告册内。
七、实验注意事项⎩⎨⎧≤≤=-=')50(2)0(2x y xy y 的精确解为)1/(22x y +=,通过调整步长,观察结果的精度的变化 八、思考题如何对四阶龙格-库塔法进行改进,以保证结果的精度。
实验五 迭代法解线性方程组与非线性方程一、实验目的掌握高斯-塞德尔迭代法求解线性方程组与牛顿迭代法求方程根。
二、实验内容分别写出高斯-塞德尔迭代法与牛顿迭代法的算法,编写程序上机调试出结果,要求所编程序适用于任何一个方程的求根,即能解决这一类问题,而不是某一个问题。
实验中以下列数据验证程序的正确性。
1、高斯-塞德尔迭代法求解线性方程组⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----017413231511222315921274321x x x x 2、用牛顿迭代法求方程013=--x x 的近似根,00001.0≤ε,牛顿法的初始值为1。
三、实验仪器设备与材料主流微型计算机四、实验原理二分法通过将含根区间逐步二分,从而将根的区间缩小到容许误差范围。