数值分析上机指导书
数值分析实验指导书
数值分析课程实验指导书应用科学学院数学系目录前言 (1)第一部分数值实验报告格式 (1)第二部分数值实验报告范例 (2)第三部分数值实验 (6)数值实验一 (6)数值实验二 (8)数值实验三 (10)数值实验四 (12)数值实验五 (13)数值实验六 (16)数值实验七 (17)第四部分MATLAB入门 (19)前言该实验指导书是《数值分析》课程的配套数值实验教材。
《数值分析》是理工科大学本科生与硕士研究生的必修课程,学习本课程的最终目的,是用计算机解决科学和工程实际中的数值计算问题,因此熟练地在计算机上实现算法是必备的基本技能。
数值实验是数值分析课程中不可缺少的部分,利用计算机进行数值实验,以消化巩固所学的内容,增加对算法的可靠性、收敛性、稳定性及效率的感性认识,体会和重视算法在计算机上实验时可能出现的问题。
学生通过选择算法、编写程序、分析数值结果、写数值实验报告等环节的综合训练,逐步掌握数值实验的方法和技巧,获得各方面的数值计算经验,培养学生运用所学算法解决实际问题和进行理论分析的能力。
该实验指导书由王希云、刘素梅、王欣洁、李晓峰等老师编写。
第一部分数值实验报告格式一个完整的实验,应包括数据准备、理论基础、实验内容及方法,最终对实验结果进行分析,以达到对理论知识的感性认识,进一步加深对相关算法的理解,数值实验以实验报告形式完成,实验报告格式如下:一、实验名称实验者可根据报告形式需要适当写出。
二、实验目的及要求首先要求做实验者明确,为什么要做某个实验,实验目的是什么,做完该实验应达到什么结果,在实验过程中的注意事项,实验方法对结果的影响也可以以实验目的的形式列出。
三、算法描述(实验原理与基础理论)数值实验本身就是为了加深对基础理论及方法的理解而设置的,所以要求将实验涉及到的理论基础,算法原理详尽列出。
四、实验内容实验内容主要包括实验的实施方案、步骤、实验数据准备、实验的算法以及可能用到的仪器设备。
数值分析上机指导书
《数值分析》上机指导书曾繁慧编著辽宁工程技术大学理学院目录MATLAB平台简介 ..................................................................................... 错误!未定义书签。
实验1 数值计算误差与MATLAB语言 ................................................... 错误!未定义书签。
实验2 非线性方程与MATLAB应用 ....................................................... 错误!未定义书签。
实验3 线性方程组与MATLAB应用 ....................................................... 错误!未定义书签。
实验4 插值法与MATLAB应用 ............................................................... 错误!未定义书签。
实验5 函数逼近与MATLAB应用 ........................................................... 错误!未定义书签。
实验6 数值微积分与MATLAB应用 ....................................................... 错误!未定义书签。
实验7 常微分方程与MATLAB应用 ....................................................... 错误!未定义书签。
MATLAB平台简介MATLAB名字由MATrix和LABoratory 两词的前三个字母组合而成。
那是20世纪七十年代后期的事:时任美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK库程序的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。
数值分析上机作业(MATLAB)
将系数矩阵 A 分解为:A=L+U+D
Ax=b
⇔ (D + L +U)x = b ⇔ Dx = −(L + U )x + b ⇔ x = −D −1(L + U )x + D −1b x(k +1) = −D −1 (L + U ) x(k ) + D −1b
输入 A,b 和初始向量 x
迭代矩阵 BJ , BG
否
ρ(B) < 1?
按雅各比方法进行迭代
否
|| x (k+1) − x(k) ||< ε ?
按高斯-塞德尔法进行迭代
否
|| x(k+1) − x (k ) ||< ε ?
输出迭代结果
图 1 雅各布和高斯-赛德尔算法程序流程图
1.2 问题求解
按图 1 所示的程序流程,用 MATLAB 编写程序代码,具体见附录 1。解上述三个问题 如下
16
-0.72723528355328
0.80813484897616
0.25249261987171
17
-0.72729617968010
0.80805513082418
0.25253982509100
18
-0.72726173942623
0.80809395746552
0.25251408253388
0.80756312717373
8
-0.72715363032573
0.80789064377799
9
-0.72718652854079
数值分析报告上机报告材料
第一题:1、已知A 与b12.38412 2.115237 -1.061074 1.112336 -0.1135840.718719 1.742382 3.067813 -2.031743 2.11523719.141823 -3.125432 -1.012345 2.189736 1.563849-0.784165 1.112348 3.123124 -1.061074 -3.125A =43215.567914 3.123848 2.031454 1.836742-1.056781 0.336993 -1.010103 1.112336 -1.012345 3.12384827.108437 4.101011-3.741856 2.101023 -0.71828 -0.037585 -0.1135842.189736 2.031454 4.10101119.8979180.431637-3.111223 2.121314 1.784317 0.718719 1.563849 1.836742 -3.741856 0.4316379.789365-0.103458 -1.103456 0.238417 1.742382 -0.784165 -1.056781 2.101023-3.111223-0.10345814.7138465 3.123789 -2.213474 3.067813 1.112348 0.336993-0.71828 2.121314-1.103456 3.12378930.719334 4.446782 -2.031743 3.123124 -1.010103-0.037585 1.7843170.238417-2.213474 4.44678240.00001[ 2.1874369 33.992318 -25.173417 0.84671695 1.784317 -86.612343 1.1101230 4.719345 -5.6784392]TB ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=(1)用Househloser 变换,把A 化为三对角阵(并打印B )。
数值分析---上机考试大纲
东华大学研究生《数值分析》实验考试大纲教材:«数值分析及其MA TLAB实验»姜健飞胡良剑唐俭编考试规则领座试卷不同,开卷,解答全部用笔写在考卷上,作图题只需手画草图。
开考前可将准备程序Copy到硬盘, 但是开考后不允许用软盘,也不允许上网。
评分原则满分20。
对一题得6分, 对两题得11分, 对三题得15分. 对四题得18分. 基本正确题酌情给分。
类型1:使用Matlab命令的计算题共3题主要使用如下MA TLAB命令解题:第二章(1)用矩阵除法解线性方程组;(2)行列式det、逆inv;(3)特征值、特征向量eig;(4)范数和条件数;第三章(1)用roots求多项式的根;(2)用fzero解非线性方程;(3)用fsolve解非线性方程组;第四章(1)多项式插值和拟合polyfit(2) 线性插值interp1(3) 样条插值spline, csape(4)最小二乘拟合lsqcurvefit第五章(1)用diff或gradiet求导数(2)用trapz、quad或quadl求积分;(3)用dblquad或triplequad求重积分;第六章(1)用ode45求解微分方程;(2)用ode45求解微分方程组;(3)用ode45求解高阶微分方程;类型2:使用课本程序的计算题共1题(不必将课本程序部分写在考卷上)第二章nagauss nagauss2 nalu nalupad第三章nabisect nanewton nags naspgs nasor第四章nalagr naspline nafit naorthfit第五章natrapz nagsint naromberg naadapt dblquad2第六章naeuler naeulerb naeuler2 nark4 nark4v naeuler2s类型3:编程题共1题(必须将程序写在考卷上)要求使用MA TLAB控制流语句编程,主要涉及for, while, if等语句以及关系与逻辑运算,M 函数编写。
数值计算实验指导书
数值计算方法(一)实验指导书一、基本情况·课程名称:数值计算方法(一)·课程编号: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、要求:要求用键盘输入,程序具有通用性.1)以0.32,0.34,0.36为节点,分别用线性插值和抛物插值求正弦函数在0.3367处的近似值;线性插值场合,比较内插与外插.2)分别取节点数 20,10,5===n n n 的等距节点为插值点,构造出 )(x L n ,并画出其图形,与 )(x f 的图形比较;观察在5±=x 附近的现象,写出分析结果。
数值分析实验指导书
《数值分析》实验指导书潍坊学院数学与信息科学学院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]
数值分析实验指导书考核标准:及格:独立完成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 实验题目(一) (2)2.1 题目要求 (2)2.2 NEWTON插值多项式 (3)2.3 数据分析 (4)2.3.1 NEWTON插值多项式数据分析 (4)2.3.2 NEWTON插值多项式数据分析 (6)2.4 问答题 (6)2.5 总结 (7)3 实验题目(二) (8)3.1 题目要求 (8)3.2 高斯-塞德尔迭代法 (8)3.3 高斯-塞德尔改进法—松弛法 (9)3.4 松弛法的程序设计与分析 (9)3.4.1 算法实现 (9)3.4.2 运算结果 (9)3.4.3 数据分析 (11)4 实验题目(三) (13)4.1 题目要求 (13)4.2 RUNGE-KUTTA 4阶算法 (13)4.3 RUNGE-KUTTA 4阶算法运算结果及数值分析 (14)总结 (16)附录A (17)1绪论数值分析是计算数学的一个主要部分,它主要研究各类数学问题的数值解法,以及分析所用数值解法在理论上的合理性。
实际工程中的数学问题非常复杂,所以往往需要借助计算机进行计算。
运用数值分析解决问题的过程:分析实际问题,构建数学模型,运用数值计算方法,进行程序设计,最后上机计算求出结果。
数值分析这门学科具有面向计算机、可靠的理论分析、好的计算复杂性、数值实验、对算法进行误差分析等特点。
本学期开设了数值分析课程,该课程讲授了数值分析绪论、非线性方程的求解、线性方程组的直接接法、线性方程组的迭代法、插值法、函数逼近与曲线拟合、数值积分和数值微分、常微分方程初值问题的数值解法等内容。
其为我们解决实际数学问题提供了理论基础,同时我们也发现课程中很多问题的求解必须借助计算机运算,人工计算量太大甚至无法操作。
所以学好数值分析的关键是要加强上机操作,即利用计算机程序语言实现数值分析的算法。
本报告就是基于此目的完成的。
本上机实验是通过用计算机来解答数值分析问题的过程,所用的计算工具是比较成熟的数学软件MATLAB。
数值分析上机实验指导书
“数值计算方法”上机实验指导书实验一 误差分析实验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)中的ε。
数值分析上机(C++版)
数值分析论文NUMERICAL ANALYSIS(THESIS)题目数值分析论文学生指导教师鸿雁学院专业班级2016年12月目录一二分法与牛顿迭代法1二拉格朗日插值法6三最小二乘法10四复合辛普森求积公式15五改进欧拉公式18六列主元消去法21七不动点迭代法26一二分法与牛顿迭代法一问题简介在有气体参加的恒容反应体系里,反应体系的总压会随着反应的进行而改变。
通过反应的平衡常数可以求出反应后气体的总量,而气体分子的分压与其所占比率是成正比的。
这类问题中关键是要求出反应后各分子的分压,各分子分压之和即为总压,其实质即为求方程的根。
例如:在298K下,化学反应2OF2=O2+2F2的平衡常数为0.410atm,如在298K下将OF2通入容器,当t=0时为1atm,问最后总压是多少?计算精度为10-3。
二数学模型假设是理想气体,可知2OF2=O2+2F2设氧的分压为p,平衡时有1-2p p p平衡时有整理得4p3-1640p2+164p-0410=0函数关系式为三算法选择与算法过程由计算得f(0.2)=-0.1156,f(0.3)=0.0424因此,有根区间为[0.2,0.3]用求单根的二分法计算时:可令a=0.2,b=0.3;最后计算得氧气分压:p=0.274609atm,总压为:P=3p+(1-2p)=1.274609atm用牛顿迭代法计算时:令则迭代公式为:令进行迭代,最后计算得氧气分压为:p=0.274901,则总压为:P=3p+(1-2p)=1.274901二分法的计算算法:#include <iostream>#include<math.h>using namespace std;double a=0.2,b=0.3,e=0.001,n;double f(float c){n=4*c*c*c-1.6400000*c*c+1.64*c-0.410;return n;}void main(){double c,m,p,a=0.2,b=0.3;for(p=a;b-a>=0.001;){c=(a+b)/2;m=f(c);if(m<0){a=c;}else if(m>0){b=c;}else{p=c;break;}p=(a+b)/2;}cout<<"\n a="<<a<<endl;cout<<"\n b="<<b<<endl;}牛顿迭代法的算法:#include<iostream>#include<string>#include<cmath>using namespace std;double f(double x){double m,n;m=4*x*x*x-1.640*x*x+1.64*x-0.410;n=12*x*x-3.280*x+1.64;return x-m/n;}void newton(double x,double d){double a=x;double b=f(a);int k; //记录循环的次数for(k=1;fabs(a-b)>d;k++){a=b;b=f(a);if(k>100){cout<<"迭代失败,该函数可能不收敛!"<<endl;}}cout<<"\n b="<<b<<endl;cout<<"\n k="<<k<<endl;return;}int main(){cout<<"请输入初始值x0和要求得结果的精度:";double x,d;cin>>x>>d;newton(x,d);return 0;}四数值实验过程二分法通过VC6.0程序运行的结果如下图所示:牛顿迭代法通过VC6.0的计算结果如下:五相关数值分析和实际应用分析由二分法程序输出结果可得:a=0.274219,b=0.275。
数值分析实验指导书
第一章 绪论1.1 主要内容误差的来源与分类:计算误差,截断误差(方法误差)误差和误差限的概念及计算:绝对误差,绝对误差限,相对误差,相对误差限. 有效数位,有效数字的判断代数运算结果的误差,误差的传播等概念 .1.2 例题分析例1 近似值45.0的误差限为( )。
A . 0.5 B. 0.05 C . 0.005 D. 0.0005.解 因 245.00.45010=⨯,它为具有3位有效数字的近似数,其误差限为 3211110101022ε--=⨯⨯=⨯。
所以,答案为B. 例 2 已知*3.1415926,x π== 求近似值 3.142x =的误差限,准确数字或有效数字。
解 由 3.142 3.14159260.00041,x ε=-< 误差限为31102ε-=⨯. 因0,3m n ==-,由定义知x 具有4位有效数字,准确到310-位的近似数。
例3 已知近似数 1.2864,0.635,a b ==求2,b a b -的误差限和准确数位。
解 因41102a ε-=⨯(),31102b ε-=⨯(), ()()3211220.635101022bb b b b b b b εεεε--=+≤<⨯⨯⨯<⨯ 所以 ()22110,2bε-=⨯ 2b 准确到210-位。
21()()()10,2a b a b a b εεεεε--=-≤+<⨯则a b -准确到210-位。
1.3 数值实验建立积分105nn x I dx x =+⎰(0,1,,20)n = 的递推关系,并在计算机上实现解题 提示:由11111005155n n n n n x x I I dx x dx x n---++===+⎰⎰。
建立下列两种递推公式: (A )1015ln 6ln 5n n I I n I -⎧=-+⎪⎨⎪=-⎩ (B )112011550.0087301587n n I I n I --⎧=-+⎪⎨⎪=⎩,讨论数值计算的稳定性第二章 插值法2.1 主要内容设函数()f x 在[,]a b 上连续。
数值分析上机报告资料
数值分析上机报告姓名:学号:专业:联系电话:本次数值分析上机实习采用Matlab数学软件。
Matlab是一种用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。
在数值分析应用中可以直接调用Matlab软件中已有的函数,同时用户也可以将自己编写的实用导入到Matlab函数库中方便自己调用。
基于Matlab数学软件的各种实用性功能与优点,本次数值分析实习决定采用其作为分析计算工具。
1.语言简洁,编程效率高因为MATLAB定义了专门用于矩阵运算的运算符,使得矩阵运算就像列出算式执行标量运算一样简单,而且这些运算符本身就能执行向量和标量的多种运算。
利用这些运算符可使一般高级语言中的循环结构变成一个简单的MATLAB语句,再结合MATLAB丰富的库函数可使变得相当简短,几条语句即可代替数十行C语言或Fortran语言语句的功能。
2. 交互性好,使用方便在MATLAB的命令窗口中,输入一条命令,立即就能看到该命令的执行结果,体现了良好的交互性。
交互方式减少了编程和调试的工作量,给使用者带来了极大的方便。
因为不用像使用C语言和Fortran语言那样,首先编写源,然后对其进行编译、连接,待形成可执行文件后,方可运行得出结果。
3. 强大的绘图能力,便于数据可视化MATLAB不仅能绘制多种不同坐标系中的二维曲线,还能绘制三维曲面,体现了强大的绘图能力。
正是这种能力为数据的图形化表示(即数据可视化)提供了有力工具,使数据的展示更加形象生动,有利于揭示数据间的内在关系在新版本中也加入了对C、FORTRAN、c++、JA V A的支持,使用时可以直接调用,也可将编写的实用程序导入到matlab函数库中方便以后使用时调用。
本次编程所用的软件为MATLAB,通过这次作业,对它有了初步的认识,以及对数值分析的体会更为深刻,希望为以后的学习和工作奠定一定的基。
目录1 必做题一插值法 (4)1.1题目 (4)1.2 分析过程 (4)1.3 计算结果 (5)1.4 结果分析 (6)2 必做题二雅格比法迭代与高斯-赛德尔迭代 (6)2.1题目 (6)2.2分析过程 (6)2.3计算结果 (7)2.4 结果分析 (8)3 选做题一 (8)3.1题目三次样条插值 (8)3.2分析过程 (8)3.3计算结果 (9)3.4 结果分析 (9)附录 (10)附录一:必做题一插值法代码 (11)附录二:必做题二雅格比法迭代与高斯-赛德尔迭代代码 (12)附录三:选做题一三次样条插值代码 (14)1 必做题一 插值法1.1题目某过程涉及两变量x 和y, 拟分别用插值多项式和多项式拟合给出其对应规律的近似多项式,已知xi 与yi 之间的对应数据如下,xi=1,2,…,10yi = 34.6588 40.3719 14.6448 -14.2721 -13.3570 24.8234 75.2795 103.5743 97.4847 78.2392(1)请用次数分别为3,4,5,6的多项式拟合并给出最好近似结果f(x)。
数值分析上机作业(2)
一、数值求解如下正方形域上的Poisson 方程边值问题 2222(,)1,0,1(0,)(1,)(1),01(,0)(,1)0,01u u f x y x y x y u y u y y y y u x u x x ⎧⎛⎫∂∂-+==<<⎪ ⎪∂∂⎪⎝⎭⎨==-≤≤⎪⎪==≤≤⎩二、用椭圆型第一边值问题的五点差分格式得到线性方程组为2,1,1,,1,10,1,,0,141,?,?,?,?0,1i j i j i j i j i j ijj N j i i N u u u u u h f i j N u u u u i j N -+-+++----=≤≤====≤≤+, 写成矩阵形式Au=f 。
其中1.三 、编写求解线性方程组Au=f 的算法程序, 用下列方法编程计算, 并比较计算速度。
2.用Jacobi 迭代法求解线性方程组Au=f 。
3.用块Jacobi 迭代法求解线性方程组Au=f 。
4. 用SOR 迭代法求解线性方程组Au=f,用试算法确定最佳松弛因子。
1122N N v b v b u f v b ⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪== ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭4114114ii A -⎛⎫ ⎪- ⎪= ⎪- ⎪-⎝⎭11,12,1,121,22,2,21,2,,2211,12,1,121,22,2,221,2,,(,,...,),(,,...,),......,(,,...,)(,,...,)?,(,,...,)?,......,(,,...,)?1,999,0.10.011T T N N TN N N N N T T N N T N N N N N v u u u v u u u v u u u b h f f f b h f f f b h f f f h N h N ====+=+=+===+取或则或,1,,1,2,...,i j f i j N== 1122NN A I I A A I I A -⎛⎫ ⎪- ⎪= ⎪- ⎪-⎝⎭5.用块SOR 迭代法求解线性方程组Au=f,用试算法确定最佳松弛因子。
实用数值计算方法实验指导书
《实用数值计算方法》实验指导书目录前言 (2)一.上机实验环境 (3)二.上机要求和步骤 (3)三.实验内容 (3)实验一线性方程组求解 (3)实验二Lagrange插值多项式 (4)实验三最小二乘法曲线拟合 (5)实验四数值积分 (6)实验五常微分方程的数值解法 (6)实验六非线性方程求根 (7)实验七 的近似计算 (7)前言随着当代计算科学领域的不断扩大,对生物、材料科学等的深入研究使得应用数学、计算数学日益成为不可分割的部分。
如何建立自然现象的数学模型,如何处理自然界的随机现象和复杂现象,如何考虑模型中典型参数的渐近行为,以及如何针对具体问题设计数值格式并进行数值分析,已经成为当代应用与计算数学领域的基本问题与基本模式。
在科学研究与工程技术中,经常需要从复杂的数学公式获得有用的数据来完成实验或工程设计。
《计算方法》的任务就是要将复杂的数学问题转化为计算机可解的数值计算问题。
本实验课程开设的主要目的是通过学生的上机实验,加深学生对基本概念、公式和定理的理解和实际运用。
重点掌握插值、拟合、数值积分、方程(非线性方程、线性方程组、微分方程等)的数值求解方法,提高科学计算能力和计算机应用水平,为以后的科研、工作打下良好的基础。
一.上机实验环境装有matlab语言系统的微型计算机。
二.上机要求和步骤(1)认真分析题目的条件和要求,复习相关的理论知识,选择适当的解决方案和算法。
(2)编写上机实验程序,作好上机前的准备工作;然后上机调试程序,并试算各种方案,记录计算的结果(包括必要的中间结果);在上机实验时完成相应实验的算法的程序编制,并上机运行,学会应用这些算法于实际问题,以便对算法有更进一步的认识和理解。
(4)分析和解释计算结果,考察和体会数值计算中出现的一些问题和现象:误差的估计,算法的稳定性、收敛性、收敛速度以及迭代初值对收敛的影响等等。
(5)按照要求书写实验报告,实验报告由以下几个部分组成:实验题目、所用方法、实现算法、输入和输出说明、算法与实现程序、运行结果、结果分析。
《数值分析》上机实验报告
数值分析上机实验报告x k x k - f(X k) f (X k)《数值分析》上机实验报告1. 用Newt on法求方程X7-X4+14=0在(0.1,1.9)中的近似根(初始近似值取为区间端点,迭代6次或误差小于0.00001 )。
1.1理论依据:设函数在有限区间[a,b]上二阶导数存在,且满足条件1. f(x)f(b) 02. f(x)在区间[a, b]上不变号3f(x) = 0;4」f (c)〔f .(x) |,其中c是a,b中使mir(| f .(a), f .(b) |)达到的一个b -a则对任意初始近似值x0• [a,b],由Newton迭代过程込f(x k )X“ M(Xk) = Xk — T^,k = 0,1,2,3…f'(X k)所生的迭代序列 % [平方收敛于方程f(x)=0在区间[a,b]上的惟一解: 令7 4f(x)=x -28x 14, f (0.1) 0, f(1.9) ::0f (x) =7x6-112x3=7x3(x3-16) ::: 0f (x) =42x5-336x2=42x2(x3-8) :: 0f (1.9) f (1.9) 0故以1.9为起点x0 =1.9如此一次一次的迭代,逼近X的真实根。
当前后两个的差<=出寸,就认为求出了近似的根。
本程序用Newton法求代数方程(最高次数不大于10)在(a,b )区间的根//限制循环次数1.2 C 语言程序原代码:#i nclude<stdio.h> #in clude<math.h> mai n() {double x2,f,f1; double x1=1.9; // 取初值为 1.9do {x2=x1;f=pow(x2,7)-28*pow(x2,4)+14; f1=7*pow(x2,6)-4*28*pow(x2,3); x 仁 x2-f/f1;}while(fabs(x1-x2)>=0.00001||x1<0.1); printf("计算结果:x=%f\n",x1);}1.3运行结果:* D:\VC + +\EXERCIS E\Debu g\l1.4 MATLAB上机程序fun cti on y=Newt on( f,df,x0,eps,M)d=0;for k=1:Mif feval(df,x0)==0d=2; breakelsex1=x0-feval(f,x0)/feval(df,x0);ende=abs(x1-x0);x0=x1;if e<=eps&&abs(feval(f,x1))v=epsd=1; breakendendif d==1y=x1;elseif d==0y='迭代M次失败';elsey=奇异’endfun cti on y=df(x)y=7*x A6-28*4*x A3;Endfunction y=f(x) y=x A7-28*x A4+14;End>> x0=1.9;>> eps=0.00001;>> M=100;>> x=Newto n('f,'df,x0,eps,M);>> vpa(x,7)1.5问题讨论:1•使用此方法求方解,用误差来控制循环迭代次数,可以在误差允许的范围内得到比较理想的计算结果。
数值分析上机指导书
《数值分析》上机指导书曾繁慧编著理学院目录MATLAB平台简介 (1)实验1 MATLAB语言、非线性方程与MATLAB应用 (3)实验2 线性方程组与MATLAB应用 (4)实验3 插值法、函数逼近与MATLAB应用 (6)实验4 数值微积分与MATLAB应用 (3)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)纷纷淘汰,而改以MATLAB为平台加以重建。
在时间进入20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件。
到九十年代初期,在国际上30几个数学类科技应用软件中,MATLAB在数值计算方面独占鳌头,而Mathematica和Maple则分居符号计算软件的前两名。
Mathcad因其提供计算、图形、文字处理的统一环境而深受中学生欢迎。
在欧美大学里,诸如应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教科书都把MATLAB作为内容。
MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
数值分析上机实习教学大纲和授课计划
数值分析上机实习教学大纲和授课计划Computer Science is an ever-evolving field that requires practical skills alongside theoretical knowledge. As part of the curriculum, students often have practical sessions known as "on-the-computer" or "hands-on" labs. Similarly, in Numerical Analysis courses, there is a need for students to engage in on-the-computer practice and apply their knowledge to solve real-world problems. Therefore, it is essential to have a well-structured syllabus and teaching plan for the Numerical Analysis on-the-computer practicum.Numerical Analysis on-the-computer practicum aims to bridge the gap between theory and application by providing students with the opportunity to learn how numerical methods are implemented using programming languages. Through this practical experience, students not only develop their programming skills but also gain insight into the strengths and limitations of various numerical algorithms.The first part of the course focuses on introducingfundamental concepts in numerical analysis. This includes topics such as interpolation, approximation, root finding, and numerical differentiation/integration methods. Students learn about different types of errors and analyze their impact on computational results. Understanding these concepts is crucial for selecting appropriate numerical techniques during problem-solving.In the second part of the course, students dive into programming aspects related to numerical analysis. Theylearn how to implement algorithms discussed earlier using a chosen programming language (like Python or MATLAB). Through hands-on exercises and assignments, they gain proficiency in writing efficient code that solves numerical problems accurately and efficiently.The course then progresses to advanced topics such assolving systems of linear equations, eigenvalue problems, optimization techniques, and differential equations' numerical solutions. Practical applications of these methods are explored through case studies that involvereal-world problems from science, engineering, finance, etc.To ensure optimum learning outcomes during on-the-computer classes, it is important to design a carefully structured lab schedule. The labs should be divided into modules based on specific topics covered in class lectures. Each module should consist of exercises that gradually increase in complexity. This allows students to consolidate their understanding of concepts and skills as they progress through the course.In addition to the lab schedule, it is crucial to provide students with adequate resources for self-learning and practice. This can include textbooks, online tutorials, code samples, and a dedicated discussion forum where students can seek assistance from their peers or the instructor if necessary.Overall, a well-defined numerical analysis on-the-computer practicum syllabus and teaching plan should cover fundamental topics in numerical analysis theory while providing ample opportunities for hands-on programming experience. The curriculum should be designed to fostercritical thinking, problem-solving skills, and an appreciation for the practical applications of numerical methods in various fields.我的问题是:数值分析上机实习教学大纲和授课计划计算机科学是一个不断发展的领域,需要理论知识和实际技能相结合。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数值分析》上机指导书曾繁慧编著辽宁工程技术大学理学院目录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作为内容。
MATLAB是攻读学位的大学生、硕士生、博士生必须掌握的基本工具。
在国际学术界,MATLAB已经被确认为准确、可靠的科学计算标准软件。
在许多国际一流学术刊物上,(尤其是信息科学刊物),都可以看到MATLAB的应用。
在设计研究单位和工业部门,MATLAB被认作进行高效研究、开发的首选软件工具。
如美国National Instruments公司信号测量、分析软件LabVIEW,Cadence公司信号和通信分析设计软件SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主要支撑。
又如HP公司的VXI硬件,TM公司的DSP,Gage公司的各种硬卡、仪器等都接受MATLAB的支持。
MATLAB的一些功能如下:MATLAB拥有世界一流水平的数值计算函数库。
MATLAB自问世起,就抱定一个宗旨:其所有数值计算算法都必须是国际公认的、最先进的、可靠算法;其程序由世界一流专家编制,并经高度优化;而执行算法的指令形式则必须简单、易读易用。
MATLAB正是仰赖这些高质量的数值计算函数赢得了声誉。
MATLAB数值计算函数库的另一个特点是其内容的基础性和通用性。
它正由于这一特点,而适应了诸如自动控制、信号处理、动力工程、电力系统等应用学科的需要,并进而开发出一系列应用工具包。
MATLAB的图形可视能力在所有数学软件中是首屈一指的。
MATLAB的图形系统有高层和低层两个部分组成。
高层指令友善、简便;低层指令细腻、丰富、灵活。
一般说来,不管二元函数多么复杂,它的三维图形,仅需10条左右指令,就能得到富于感染力的表现。
数据和函数的图形可视手段包括:线的勾画、色图使用、浓谈处理、视角选择、透视和裁剪。
MATLAB有比较完备的图形标识指令,它们可标注:图名、轴名、解释文字和绘画图例。
MATLAB的图形用户界面(GUI)以其友好性和直观易懂性在软件编程上被广泛使用。
开发一个GUI程序的过程主要有:布局好图形用户界面对象和给这个图形用户界面编写代码。
具体的开发步骤:GUI界面的设计和布局、GUI的编程、菜单的设计和布局以及菜单的编程。
MATLAB的控制仿真功能SIMULINK。
这是一个交互式操作的动态系统建模、仿真、分析集成环境。
它的出现使人们有可能考虑许多以前不得不做简化假设的非线性因素、随机因素,从而大大提高了人们对非线性、随机动态系统的认知能力。
MATLAB开发了与外部进行直接数据交换的组件,打通了MATLAB进行实时数据分析、处理和硬件开发的道路。
MATLAB的符号计算工具箱。
1993年MathWorks公司从加拿大滑铁卢大学购得Maple 的使用权,以Maple为“引擎”开发了Symbolic Math Toolbox 1.0。
MathWorks公司此举加快结束了国际上数值计算、符号计算孰优孰劣的长期争论,促成了两种计算的互补发展新时代。
MATLAB的Notebook功能。
MathWorks公司瞄准应用范围最广的Word ,运用DDE 和OLE,实现了MATLAB与Word的无缝连接,从而为专业科技工作者创造了融科学计算、图形可视、文字处理于一体的高水准环境。
影像处理也是MATLAB最主要的特色与功能之一。
影像是指经过摄影而获得的像。
影像处理的科学定义是:使用计算机将数字影像信息进行数字化,并进一步予以分析、加强、编码、解译、分割、辨识、复原、强化、缩放、着色等及与之相关的技术。
事实上MATLAB几乎可以设计与处理所有的影像处理方面的问题。
它不但可以生成各种各样的影像,而且处理起来具有更高的理论层次水平。
比如对一幅影像它可以取出该影像的外缘,而舍弃其它部分不要,它还可以对该影像进行傅立叶分析与处理把影像处理在频域内进行。
数字信号的处理。
MATLAB对数字信号进行基本处理,包括进行快速傅立叶变换、求信号的功率谱和滤波等,从被处理的信号中获得我们想要的信息。
MATLAB的神经网络功能。
神经网络这门学科是受了人脑这部高度智能、发达的“机器”的启发,而逐渐发展起来的一门前沿技术科学。
神经网络的优势在于它的学习性和自动调整性,所以非常适合于处理非线性的问题。
它被广泛应用于各行各业上,例如语音识别、实时语言翻译、目标的跟踪和识别、工业方面的过程控制等等。
神经网络无论是工业应用还是科学研究都是一个有力的工具,有着巨大的潜力。
它的应用主要是偏重于特征的提取、过程的控制和状态的预测。
实验1 数值计算误差与MATLAB 语言要求:掌握MATLAB 语言,理解误差与数值稳定性。
1.实验目的:掌握MATLAB 语言的程序设计。
实验内容:对以下问题,编写M 文件。
(1)用起泡法对10个数由小到大排序。
即将相邻两个数比较,将小的调到前头。
(2)有一个4×5矩阵,编程求其最大值及其所处的位置。
(3)编程求∑=201!n n 。
(4)一球从100米高度自由落下,每次落地后反跳回原高度的一半,再落下。
求它在第10次落地时,共经过多少米?第10次反弹有多高?(5)有一函数y xy x y x f 2sin ),(2++=,写一程序,输入自变量的值,输出函数值。
2.实验目的:掌握MATLAB 语言的图形绘制。
实验内容:(1)在同一平面中的两个窗口分别画出心形线和马鞍面。
并且1)在图形上加格栅、图例和标注;2)定制坐标;3)以不同角度观察马鞍面。
(2)以不同的视角观察球面2222r z y x =++和圆柱面rx y x =+22 所围区域。
3.实验目的:理解算法的数值稳定性。
实验内容:对于积分⎰==-101),1,0( n dx e x e I x n n ,有下面两个算法。
算法1:⎩⎨⎧-==-1016321.0n nnI I I ,),2,1( =n ;算法2:⎪⎩⎪⎨⎧-==-)1(10684.01n n n I n I I ,)1,,8,9( =n 。
数值对比说明舍入误差与算法的数值稳定性的关系。
实验2 非线性方程与MATLAB 应用要求:理解非线性方程数值求解思想,掌握常用算法的设计,掌握用MATLAB 实现的数值解法。
1. 实验目的:比较不同方法的计算量。
实验内容:比较求0210=-+x e x 的根到三位小数所需的计算量: (1)在区间[0,1]内用二分法;(2)用迭代法10/)2(1kx k e x -=+,取初值00=x ;(3)用牛顿迭代法,取初值00=x 。
2. 实验目的:研究不同的初值对牛顿迭代过程的影响。
实验内容:用牛顿法求方程013=--x x 在区间]3,3[-上误差不大于510-的根。
分别取初值5.10=x 、00=x 、10-=x 进行计算,比较它们的迭代次数。
3. 实验目的:研究迭代法的收敛性与收敛速度。
实验内容:1225年,达·芬奇研究了方程02010223=-++x x x 并得到它的一个根368808107.1*≈x 。
没有人知道他用什么方法得到的。
分别对上述方程建立迭代法(1) ,2,1,01022021=++=+k x x x k kk ;(2) ,2,1,010220321=--=+k x x x kk k 。
分别研究这两个迭代法的收敛性、收敛速度以及用斯蒂芬森加速的可能性。
通过数值计算加以比较,请自行设计一种比较形象的记录方式,如利用MATLAB 的图形功能。
4. 实验目的:研究一般迭代公式的复杂行为,初步看到混沌现象。
实验内容:考虑迭代公式 ,2,1,0)1(1=-=+k x x x k k k λ。
取]4,2.0[∈λ中不同的值,并取)1,0(0∈x 进行迭代,画出不同λ情况下的)50(>k x k 的图形,并分析λ取值与k x 图形的关系。
你将对于迭代法有更深刻的理解。
实验3 线性方程组与MATLAB 应用要求:理解线性方程组直接法与迭代法思想,掌握常用算法的设计,掌握用MATLAB 实现的数值解法。
1.实验目的:理解矩阵的范数与条件数。
实验内容:已知矩阵⎪⎪⎪⎪⎪⎭⎫⎝⎛------=1111111111111111A 求1A ,2A ,∞A和)(2A cond 。
2.实验目的:研究高斯消去法的数值稳定性(出现小主元)。
实验内容:设方程组b Ax =,其中(1)⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡--⨯=-11212592.1121130.6291.51314.59103.0151A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=2178.4617.591b (2)⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----=20115152699990999999999.23107102A ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=1500019000000000.582b 分别对以上两个方程组(1)计算矩阵的条件数,判断系数矩阵是良态的还是病态的? (2)用列主元消去法求得L 和U 及解向量421,R x x ∈;(3)用不选主元的高斯消去法求得L 和U 及解向量421~,~R x x ∈; (4)观察小主元并分析对计算结果的影响。