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

合集下载

数值分析实验指导书

数值分析实验指导书

数值分析课程实验指导书应用科学学院数学系目录前言 (1)第一部分数值实验报告格式 (1)第二部分数值实验报告范例 (2)第三部分数值实验 (6)数值实验一 (6)数值实验二 (8)数值实验三 (10)数值实验四 (12)数值实验五 (13)数值实验六 (16)数值实验七 (17)第四部分MATLAB入门 (19)前言该实验指导书是《数值分析》课程的配套数值实验教材。

《数值分析》是理工科大学本科生与硕士研究生的必修课程,学习本课程的最终目的,是用计算机解决科学和工程实际中的数值计算问题,因此熟练地在计算机上实现算法是必备的基本技能。

数值实验是数值分析课程中不可缺少的部分,利用计算机进行数值实验,以消化巩固所学的内容,增加对算法的可靠性、收敛性、稳定性及效率的感性认识,体会和重视算法在计算机上实验时可能出现的问题。

学生通过选择算法、编写程序、分析数值结果、写数值实验报告等环节的综合训练,逐步掌握数值实验的方法和技巧,获得各方面的数值计算经验,培养学生运用所学算法解决实际问题和进行理论分析的能力。

该实验指导书由王希云、刘素梅、王欣洁、李晓峰等老师编写。

第一部分数值实验报告格式一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下:一、实验名称实验者可根据报告形式需要适当写出。

二、实验目的及要求首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出。

三、算法描述(实验原理与基础理论)数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出。

四、实验内容实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备。

计算数值方法实验指导书

计算数值方法实验指导书

《计算机数值方法B》实验指导书2014-04-20目录目录 (1)一、实验目的 (2)二、实验内容 (2)三、实验要求 (4)四、示例程序 (4)五、实验报告要求 (8)六、参考资料 (9)一、实验目的《数值计算方法》是一门实践性和实用性都很强的课程,学习的目的在于应用已有的理论基础和技术方法,实现对实际计算问题的计算机求解。

本实验配合《计算数值方法》课堂教学,通过上机实践实验环节,巩固课堂和书本上所学的知识、加强实践能力、提高解决实际计算问题的水平、启发创新思想。

其基本目的是:(1) 培养理论联系实际的思路,训练综合运用已经学过的理论和实际知识去分析和解决实际问题的能力。

(2) 帮助学生全面消化已学的相关课程内容,深刻理解计算数值方法课程的内涵,培养使用电子计算机进行科学计算和解决问题的能力。

(3) 进行基本技能训练和巩固。

使学生得到选择算法、编写程序、分析数值结果、写数值试验报告、课堂讨论等环节的综合训练。

二、实验内容本实验指导书共包含6个基本实验,其中实验1——实验4为必做实验,要求学生在8个实验课时内完成,实验5和实验6为选作实验,供学有余力的同学完成。

为使实验更为有成效,需要写出实验报告,以此可作为《计算机数值方法B 》课程成绩评定的参考。

实验1 方程求根熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。

选择上述方法中的两种方法求方程:f(x)=x 3+4x 2-10=0在[1,2]内的一个实根,且要求满足精度|x *-x n |<0.5×10-5实验2 线性方程组的直接解法合理利用Gauss 消元法、LU 分解法或追赶法求解下列方程组:① ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡13814142210321321x x x。

南昌大学计算机数值分析实验报告

南昌大学计算机数值分析实验报告

实验报告实验课程:数值分析学生姓名:郑俊学号:6100410235专业班级:计算机科学与技术103班2012年 06 月 6日目录一、用样条插值法差值的方法生成字体T的轮廓 (3)二、用样条插值法差值的方法生成字体5的轮廓 (10)三、用最小二乘法估计原子弹爆炸的能量 (14)南昌大学实验报告一姓名: 郑俊 学 号: 6100410235 专业班级:计算机科学与技术103班 实验类型:□验证 □ 综合■设计 □创新 实验日期:2012-5 实验成绩:一、 实验目的1:用样条插值的方法生成字体T 的轮廓 2:C 语言用Bezier 曲线生成并编写程序二、 实验基本原理和内容P 0x P 0y P 1x P 1y P 2x P 2y P 3x P 3y 237 620 237 620 237 120 237 120 237 120 237 35 226 24 143 19 143 19 143 19 143 0 143 0 143 0 143 0 435 0 435 0 435 0 435 0 435 19 435 19 435 19 353 23 339 36 339 109 339 109 339 108 339 620 339 620 339 620 507 620 529 602 552 492 552 492 552 492 576 492 576 492 576 492 576 492 570 662 570 662 570 662 570 662 6 662 6 662 6 662 6 662 0 492 0 492 0 492 0 492 24 492 24 492 24 492 48 662 71 620 183 620 183620183620237620237620Bezier 曲线生成:1、确定曲线的阶次; 2 计算Bernstein 基函数的表达式:2、生成字体T 共分成15段,每段用了三次的代数方程,用Bezier 曲线生成:当n=3时303333,3212233,2221133,1330033,0)1()()1(3)1()()1(3)1()()1()1()(t t t C t B t t t t C t B t t t t C t B t t t C t B =-=-=-=-=-=-=-=nk t t t k n k n t t C t B kn k k n kk n n k ,,1,0]1,0[)1()!(!!)1()(, =∈--=-=--其中]1,0[∈t)()()()()(3,333,223,113,00t B P t B P t B P t B P t P +++=3、 把Bezier 曲线中的Pk 写成分量坐标的形式4 、确定一合适的步长;控制t 从0到1变化,求出一系列(x,y)坐标点;将其用小线段顺序连接起来。

数值分析实验教学大纲

数值分析实验教学大纲

数值分析实验教学大纲本课程是学生进行科学计算的入门课程,它是学生今后从事计算数学及算法设计的基础。

本课程的实验主要包括插值,数值逼近,数值积分,数值微分,范数计算,高斯消去法,雅可比和高斯-塞德尔迭代法,二分法,Newton迭代法等,矩阵特征值计算方法(鬲法)。

三、实验目的要使学生具备能够利用数学软件编程解决数值分析问题的能力,把抽象的数学转换成实际应用的能力。

要求掌握矩阵分析、数值插值、数值逼近,曲线拟合、数值微积分、线性和非线性方程组的数值解法等数值计算方法;并利用数学软件解决具体问题。

上机实验的目的,绝不仅仅是为了验证教材和讲课的内容,或者验证自己所编写的程序的正确与否。

程序设计课程上机实验的目的是:1.加深对讲授内容的理解,尤其是一些算法实现;2,熟悉所用的操作系统;3 .学会上机调试程序,通过反复调试程序掌握根据出错信息修改程序的方法;4 .学会分析结果,验证算法的理论。

四、实验内容与要求(-)插值法1 .实验目的(1)掌握插值方法原理;(2)掌握插值方法计算步骤。

(3)掌握插值方法的实现。

2 .实验内容(1)插值法的实现;(2)具体例子的验证,通过插值程序观察龙格振荡现象。

(二)数值逼近1 .实验目的(1)掌握最佳平方逼近原理;(2)掌握最佳平方逼近计算步骤。

(3)掌握最佳平方逼近算法的实现。

2 .实验内容(1)最佳平方逼近算法的实现;(2)具体例子的验证。

(H)数值积分1 .实验目的(1)掌握数值积分原理;(2)掌握数值积分计算步骤。

(3)掌握数值积分的实现。

2 .实验内容(1)数值积分的实现;(2)具体例子的验证。

(四)范数计算1 .实验目的(1)掌握范数计算原理;(2)掌握范数计算的实现。

2 .实验内容(1)范数计算的实现;(2)具体例子的验证。

(五)线性方程组的直接解法1 .实验目的(1)掌握高斯消去法;(2)掌握矩阵的1U分解。

2 .实验内容(1)高斯消去法的实现;(2)具体例子的验证。

《数值分析》课程实验教学大纲

《数值分析》课程实验教学大纲

《数值分析》课程实验教学大纲
课程名称(中文):数值分析
课程编码:由学校统一编定
课程性质:非独立设课课程属性:数学实验
教材及实验指导书名称:《数值分析实验与实习》
学时学分:总学时80 实验学时24 总学分5
应开实验学期:第五学期
适用专业:信息与计算科学、数学
先修课程:高等代数、数学分析、常微分方程、Matlab语言及程序设计
一、课程简介
《数值分析》是信息与计算科学的专业基础理论核心课程。

本门课程研究用计算机求解各种数学问题的数值计算理论与方法,是后续信科专业课程的理论与实践基础。

二、课程实验的目的与要求
1.掌握数学软件平台Matlab的数值计算。

2.掌握工程中数学模型的科学计算。

3.掌握数值算法的设计与实验。

三、实验内容
四、实验方式与要求
实验方式:
上机编程与实验操作。

注意事项:
1.实验前,学生要认真预习实验指导书,明确实验目的和要求,掌握与实验相关的算法设计与Matlab知识;
2.实验中认真记录所得到的实验结果;
3.掌握程序设计的思想与Matlab的应用;
4.对所做实验得出结论,编写实验报告。

五、考核方法
按完成的实验报告评定成绩,并入课程总成绩,占24/80。

撰写人:曾繁慧
系主任:胡行华
教学院长:董春胜
理学院应用数学系。

《数值分析》课程设计实验指导书[1]

《数值分析》课程设计实验指导书[1]

数值分析实验指导书考核标准:及格:独立完成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.通过对二分法与牛顿迭代法作编程练习与上机运算,进一步体会二分法与牛顿迭代法的不同特点。

3.编写割线迭代法的程序,求非线性方程的解,并与牛顿迭代法作比较。

二、实验内容:1.用二分法求方程0104)(23=-+=x x x f 在1.5附近的根。

2.用牛顿迭代法求方程033)(23=--+=x x x x f 在1.5附近的根。

3.用简单迭代法求解非线性方程3sin )1(2=-+x x 的根。

取迭代函数)1sin 3(*5.0)(2x x x --+=ϕ,精度取2101-⨯4.(选做)用牛顿法求下列方程的根: (1)02=-x e x ; (2)01=-x xe ; (3)02lg =-+x x 。

5.(选做)编写一个弦截法程序,求解题目4中的方程。

6.(选做)Matlab 函数fzero 可用于求解非线性方程的根。

例如,fzero(@(x) x^3+4*x^2-10, 1.5)可以求解题目1。

尝试用此方法求解实验中的其他题三、实验要求:1.程序要添加适当的注释,程序的书写要采用缩进格式。

2.程序要具在一定的健壮性,即当输入数据非法时,程序也能适当地做出反应,如插入删除时指定的位置不对等等。

3.程序要做到界面友好,在程序运行时用户可以根据相应的提示信息进行操作。

四、实验步骤1.按照实验内容和实验要求编写代码 2.编译并运行代码 3.检查是否发生错误五、实验源代码与实验结果实验1源代码:运行结果:实验2源代码:运行结果:实验3源代码:运行结果:4(1)的源代码:运行结果:4(2)的源代码:运行结果:4(3)的源代码:运行结果:5(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)中的ε。

计算机数值方法实验报告

计算机数值方法实验报告

本科实验报告课程名称:计算机数值方法实验工程:实验一:方程求根实验二:线性方程组的直接解法实验三:线性方程组的迭代解法实验四:代数插值和最小二乘法拟合多项式实验地点:逸夫302专业班级:学号:学生姓名:指导老师:2021年4 月15 日t2=t;t=(t1+t2)/2;}else if(f(t2)*f(t)<=0){t1=t;t=(t1+t2)/2;}}printf("the root is %f",t);getch();}迭代法:#include"stdio.h"#include"math.h"main(){float x,a,t;scanf("%f",&a);x=a;do{x=sqrt((10-x*x*x)/4);t=a;a=x;}while(fabs(a-t)>5e-6);printf("x=%f",a);getch();}运行结果:二分法:迭代法:实验结果和分析可包括:实验中的两种方法都存在不同程度的误差,由于数据进展了小数位数保存加上计算方法导致两种方法计算结果稍有偏向。

不同的方法存在不同误差,可以不同程度的求得方程的解,不同的方法速度不同心得体会本次实验首先我学到了fabs〔〕是用于求绝对值的,而且我复习了二分法和迭代法的原理,虽然这两个是比拟小的程序,但还是考验了我的细心程度。

方程组〔2〕方程组〔3〕方程组〔4〕实验结果和分析三种解方程组方法的分析:从消元过程可以看出,对于n阶线性方程组,只要各步主元素不为零,经过n-1步消元,就可以得到一个等价的系数矩阵为上三角形阵的方程组,然后再利用回代过程可求得原方程组的解。

消元过程相当于分解A为单位下三角阵L与上三角阵U的乘积,解方程组Ly=b。

回代过程就是解方程组Ux=y。

其中的L为n阶单位下三角阵、U为上三角阵.。

在 A 的LU 分解中, L取下三角阵, U 取单位上三角阵,这样求解方程组Ax=d 的方法称为追赶法。

数值分析上机指导书

数值分析上机指导书

《数值分析》上机指导书曾繁慧编著辽宁工程技术大学理学院目录MATLAB平台简介 (1)实验1 数值计算误差与MATLAB语言 (3)实验2 非线性方程与MATLAB应用 (4)实验3 线性方程组与MATLAB应用 (5)实验4 插值法与MATLAB应用 (7)实验5 函数逼近与MATLAB应用 (4)实验6 数值微积分与MATLAB应用 (6)实验7 常微分方程与MATLAB应用 (7)MATLAB平台简介MATLAB名字由MATrix和LABoratory 两词的前三个字母组合而成。

那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。

经几年的校际流传,在Little的推动下,由Little、Moler、Steve Bangert合作,于1984年成立了MathWorks公司,并把MATLAB正式推向市场。

从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。

MATLAB以商品形式出现后,仅短短几年,就以其良好的开放性和运行的可靠性,使原先控制领域里的封闭式软件包(如英国的UMIST,瑞典的LUND和SIMNON,德国的KEDDC)纷纷淘汰,而改以MA TLAB为平台加以重建。

在时间进入20世纪九十年代的时候,MA TLAB已经成为国际控制界公认的标准计算软件。

到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。

Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。

在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。

《数值分析》实验研究报告

《数值分析》实验研究报告

《数值分析》实验报告册
姓名:
学号:
专业:
年级:
武汉科技大学理学院
信息与计算科学系
学年第学期
说明:
1、实验目的要写清楚为什么要做这个实验,其目的是什么,做完这个实验要达到什么
结果,实验的注意事项是什么等;
2、实验题目一栏要填写清楚具体的实验题目;
3、实验原理要将实验所涉及的基础理论、算法原理详尽列出;
4、实验内容列出实验的实施方案、步骤、数据准备、算法流程图以及可能用到的实验
设备(硬件和软件);
5、实验结果应包括实验的原始数据、中间结果及最终结果,复杂的结果可用表格或图
形形式实现,较为简单的结果可以与实验结果分析合并出现;
6、实验结果分析要对实验的结果进行认真的分析,进一步明确实验所涉及的算法的优
缺点和使用范围,要求实验结果应能在计算机上实现或演示,由实验者独立编程实现,程序清单以附录的形式给出;
7、报告填写用“宋体”(小四)格式字体。

实验一
实验二
实验三
实验四
1111
4
5335 111⎥⎥⎥
----⎥


实验五 14114⎥⎥--⎥⎥-⎦ 55⎥⎥⎥⎥⎦。

《数值分析》实验报告书

《数值分析》实验报告书

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=x*x*x-1对此建立迭代公式:
x(k+1)=x(k)*x(k)*x(k)-1
迭代初始值x0=1.5,则有x1=2.375, x2=12.39.继续迭代下去已经没有必要了,为
精度达到0.00001时,程序运行结果如下图:
由运行结果看出:
精度达到0。00001时,牛顿迭代法迭代次数为3
x2=s(x1);x1=x2;这两句顺序不能换过来,当换过来时,错误如下
c:\program files\microsoft visual studio\myprojects\erww\q.cpp(26) : fatal error C1004: unexpected end of file found
将牛顿迭代法应用于以下方程求根:
1x=(2-e^x+x*x)/3
23*x*x-e^x=0
对于x=(2-e^x+x*x)/3应用牛顿迭代法程序运行结果如下图:
对于3*x*x-e^x=0应用牛顿迭代法程序运行结果如下图:
对于x0=1,x1=2利用弦截法程序运行结果如下图:
弦截法对精度0.00001,需要迭代7次才能得到近似根,收敛速度比牛顿法慢些,但它的计算量比牛顿迭代法少,特别是导数的计算比较复杂时,弦截法更现实了它的优越性。
尽管每种数值方法有它本身的局限性,但它们还是很有效的。因此应该了解每一种方法的来龙去脉,尤其是它的困难所在,并通过计算机实习来熟悉和掌权这些方法.。
int main()
{
int i;
float x,t,a,b,e;

数值分析实验指导书

数值分析实验指导书

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
FA=FP
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点要求编写上机实习报告。
三、实训题
用C++语言编程实现以下算法:
1、已知插值节点序列 ,用拉格朗日(Lagrange)插值多项式 计算的函数 在点 的近似值。
2、已知插值节点序列 ,用牛顿(Newton)插值值多项式 计算的函数 在点 的近似值。
3、用线性函数 拟合给定数据 。
第二章数值积分与微分
一、目的与要求
(一)目的
通过设计、编制、调试2~3个数值积分与微分算法的程序,加深对其数值计算方法及有关的基础理论知识的理解。
(二)要求
用C++语言实现复化梯形积分、Romberg积分的程序。
一、目的与要求
(一)目的
通过设计、编制、调试1~2个求常微分方程初值问题的数值解解的程序,加深对其数值计算方法及有关的基础理论知识的理解。
(二)要求
用C++语言实现用改进的欧拉(Euler)公式求解常微分方程初值问题、用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题的程序。
二、示例
三、实训题
用C++语言编程实现以下法:1、用二分法求 的根。
2、用牛顿(Newton)迭代法求 在 附近的根。
3、用快速弦截法求 的根。
第五章线性代数方程组的数值解法
一、目的与要求
(一)目的
通过设计、编制、调试2~3个求n阶线性方程组数值解的程序,加深对其数值计算方法及有关的基础理论知识的理解。
(二)要求
1、问题
用改进的欧拉(Euler)公式求解常微分方程初值问题。
2、算法描述
(略)
3、程序中变量说明
(略)
4、源程序清单及运行结果
(略)
5、按以上4点要求编写上机实习报告。
三、实训题
用C++语言编程实现以下算法:
1、用改进的欧拉(Euler)公式求解常微分方程初值问题。
2、用四阶龙格-库塔(Runge-Kutta)方法求解常微分方程初值问题。
2、算法描述
INPUT endpoints a,b;tolerance TOL;maximun number of iterations
OUTPUT approximation solution p or message of failure
Step 1 Set i=1
FA=
Step 2 while i<= do Steps 3-6
4用C语言实现几个求线性方程组解的程序。(Gauss消去法)
1、用高斯-赛德尔迭代法求n阶线性方程组的解。
2、用高斯消去法、列主元高斯(Gauss)消元法求n阶线性方程组的解

1用C语言实现Lagrange插值程序。(、Newton插值)
2用C++语言Euler方法及其改进实现求常微分方程初值问题解的程序。(、龙格-库塔(Runge-Kutta)方法)
3用C语言实现几个非线性方程求根的程序。(二分法、迭代法、迭代过程的加速)
《计算机数值分析》课程实训指导
0引言
一、实训目的
通过上机实训,对其中的典型算法的上机编程,进一步加深对课堂中讲授的数值计算方法及有关的基础理论知识的理解。
二、前导实训
高等数学、高级语言程序设计。
三、选题途径
教材及附录中描述的算法(用伪语言描述)。
四、实训组织
学生独立或讨论完成。
五、实训环境
C++语言。
第四章方程求根的数值方法
一、目的与要求
(一)目的
通过设计、编制、调试2~3个用数值方法求方程 根的程序,加深对方程求根的数值计算方法及有关的基础理论知识的理解。
(二)要求
用C++语言实现二分法、Newton迭代法、快速弦截法求方程 根的程序。
二、示例
1、问题
已知 与 异号,用二分法求方程 在 的根。
六、实训考核
实验结束提交上机实习报告。报告应明确反映上机实习的内容、整体设计思想、实现算法、具体源程序和结果及对它的分析。
七、实训时间
10学时。
第一章插值方法
一、目的与要求
(一)目的
通过设计、编制、调试2~3个多项式插值、拟合曲线的程序,加深对其数值计算方法及有关的基础理论知识的理解。
(二)要求
用C++语言实现拉格朗日(Lagrange)插值多项式、牛顿(Newton)插值、用线性函数 拟合给定数据 。
用C++语言实现用高斯-赛德尔迭代法、高斯(Gauss)消元法、列主元高斯(Gauss)消元法求n阶线性方程组的解。
二、示例
1、问题
用高斯(Gauss)消元法求n阶线性方程组的解。
2、算法描述
(略)
3、程序中变量说明
(略)
4、源程序清单及运行结果
(略)
5、按以上4点要求编写上机实习报告。
三、实训题
用C++语言编程实现以下算法:
相关文档
最新文档