数值计算(或计算方法)试验教学讲义

上传人:豆浆 文档编号:30413100 上传时间:2018-01-29 格式:DOC 页数:13 大小:356.50KB
返回 下载 相关 举报
数值计算(或计算方法)试验教学讲义_第1页
第1页 / 共13页
数值计算(或计算方法)试验教学讲义_第2页
第2页 / 共13页
数值计算(或计算方法)试验教学讲义_第3页
第3页 / 共13页
数值计算(或计算方法)试验教学讲义_第4页
第4页 / 共13页
数值计算(或计算方法)试验教学讲义_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《数值计算(或计算方法)试验教学讲义》由会员分享,可在线阅读,更多相关《数值计算(或计算方法)试验教学讲义(13页珍藏版)》请在金锄头文库上搜索。

1、第一章 实验的目的和要求1.1 实验目的为了掌握计算方法的基本思想、原理和方法,要注意计算方法的处理技巧与计算机实现的结合,需将各种数值方法设计成算法,并编制好程序,拿到计算机上实现,最后得到可行性的验证。1.2 实验要求 用C或C+、Java、FORTRAN、Matlab等计算机程序设计语言编写程序。 上机前充分准备,复习相关知识,选用合适的数据结构并详细设计算法,尽量写出具有通用性的程序,反复检查程序。 上机时快速输入程序;首先排除语法错误;然后采用多组数据,详细测试,排除逻辑错误;最后将程序调试成功,运行程序得到准确结果。 完成计算后,反复体会和分析,试着改善计算复杂性,使程序或算法更加

2、完美。1.3 实验环境1.3.1 硬件环境CPU : Pentium 4以上内存:256MB以上1.3.2 软件环境(1)操作系统:Microsoft Windows XP 和 2000(2)编译器 :C或C+、Java、FORTRAN、Matlab1.4 本实验课程与其它课程的关系本课程的前导课程有高等数学、线性代数(或高等代数) 、C语言或FORTRAN语言等,最好事先开设数据结构;后续课程有计算机图形学、图像处理、模式识别等。第二章 实验的计划和内容2.1 实验计划计算方法实验课共安排20学时。计算方法实验计划如下Lagrange插值多项式Newton插值多项式Hermite插值多项式最

3、小二乘法复化求积公式Romberg求积公式数值微分的外推算法Gauss消元法直接三角分解法解方程组的迭代法2.2 实验内容共十个实验题目,每次课(2学时)一个题目。2.2.1实验一实验题目:Lagrange插值多项式相关知识:通过n+1个节点的次数不超过n的Lagrange插值多项式为: nkxlyxL0)()(其中,Lagrange插值基函数 ,k=0,1,n。nkjjkxl0)(另外,补充C语言绘制图形方面的内容如下1 屏幕坐标系 坐标原点在屏幕的左上角,x轴水平向右,y轴垂直向下。2 常用的绘图函数(绘图库函数所在的头文件 graphics.h)初始化图形系统的函数 void initg

4、raph(int *graphdriver,int *graphmode, char *pathtodriver);画点函数 void putpixel(int x,int y,int pixelcolor);移“画笔”函数 void moveto(int x,int y);画直线函数 void line(int x1,int y1,int x2,inty2);void lineto(int x,int y);设置前景颜色函数 void setcolor(int color);设置背景颜色函数 void setbkcolor(int color);设置画线宽度和类型函数 void setlin

5、estyle(int linestyle,unsigned upattern,int thickness);关闭图形系统函数 void closegraph(void);3 绘图程序的设计模式#include graphics.hmain()int graphdriver=DETECT,graphmode;initgraph(调用绘图函数进行绘图closegraph();数据结构:两个一维数组或一个二维数组算法设计:(略)编写代码:(略)实验用例: 已知函数y=f(x) 的一张表:x 0 10 20 30 40 50 60 70 80 90 100 110 120y 5 1 7.5 3 4.5

6、 8.8 15.5 6.5 -5 -10 -2 4.5 7试验要求:利用Lagrange插值多项式 求被插值函数f(x)在点x=65处的近似值。建)(xLn议:画出Lagrange插值多项式 的曲线。)(n2.2.2 实验二实验题目:Newton插值多项式相关知识:通过n+1个节点的次数不超过n的Newton插值多项式为:)()(, )(,)( 11010 10200 nnn xxxf xffNLL L数据结构:两个一维数组或一个二维数组算法设计:(略)编写代码:(略)实验用例: 已知函数y=f(x) 的一张表 (同上一个试验)试验要求:利用Newton插值多项式 求被插值函数f(x)在点x=

7、65处的近似值。建议:xNn画出Newton插值多项式 的曲线。)(xn2.2.3 实验三实验题目:Hermite插值多项式相关知识:通过n+1个节点的次数不超过2n+1的Hermite插值多项式为: nj jjn xmyxH012 )()()(其中,Hermite插值基函数 )()()(2 xlxxjjj 2ljjnjkkjxxl0 1)(j,L数据结构:三个一维数组或一个二维数组算法设计:(略)编写代码:(略)实验用例: 已知函数y=f(x) 的一张表 (其中 ):(xfmx 0.10 0.20 0.30 0.40 0.50y 0.904837 0.818731 0.740818 0.67

8、0320 0.606531m -0.904837 -0.818731 -0.740818 -0.670320 -0.606531x 0.60 0.70 0.80 0.90 1.00y 0.548812 0.496585 0.449329 0.406570 0.367879m -0.548812 -0.496585 -0.449329 -0.406570 -0.367879实验用例:利用Hermite插值多项式 求被插值函数f(x)在点x=0.55处的近似值。)(12xHn建议:画出Hermite插值多项式 的曲线。12n2.2.4 实验四实验题目:曲线拟合的最小二乘法相关知识:已知Ca,b中函

9、数f(x)的一组实验数据(x i,yi) (i=0,1,m) ,其中yi=f(xi)。设 是Ca,b上线性无关函数族。在);,10)(mnjj L中找函数f(x) 曲线拟合的最小二乘解(,0xxspan,其法方程(组)为: jjS0*)()( ),10(),(0 nkdanjjk L其中, mi ikijikj xx0)()(),(k=0,1,ni kikiik dff0)()(),(特别是,求函数f(x) 曲线拟合的线性最小二乘解 的计算公式为:baxS)(*miiiiimii xyyxb020202)()1(miiiimi xyyxa0202)()1(数据结构:两个一维数组或一个二维数组算

10、法设计:(略)编写代码:(略)实验用例: 已知函数y=f(x) 的一张表:x 0 10 20 30 40 50 60 70 80 90y 68 67.1 66.4 65.6 64.6 61.8 61.0 60.8 60.4 60试验要求:利用曲线拟合的线性最小二乘法求被逼近函数f(x)在点x=55处的近似值,并画出实验数据和直线。2.2.5 实验五实验题目:复化求积公式相关知识:将积分区间a,bn等分,节点x k=a+kh,k=0,1, ,n,步长 。复nabh化梯形公式为: )(2)(1bfkhaffhTnkn 再将每个小区间二等分,即整个积分区间a,b2n等分,此时复化梯形公式为 。复nT

11、2化梯形公式的递推关系为)(21nnHT其中, , 。inhiafh1 nab数据结构:(略)算法设计: 复化梯形公式的算法如下第一步:n=1,h=b-a;第二步: ;)(2bfahTn第三步:计算 ;H第四步:计算 ;n2第五步:n=2n,h=h/2;第六步:若 (事先给定的误差精度) ,则转第三步;2nT第七步:输出Tn和等分数n/2,结束算法。编写代码:(略)实验用例: 0cosxdeI试验要求:利用复化梯形求积公式求 的近似值(积分的精确值I=-0cosxdeI12.0703463164, ) ,误差精度 。K89732461456.3 6102.2.6 实验六实验题目:Romberg

12、求积公式相关知识:用两个相邻的近似公式(其中后一个公式是由前一个公式的分半得到的)的线性组合而得到更好的近似公式的方法,就是近代电子计算机上常用的Romberg求积方法,也叫逐次分半加速(收敛)法。设以 表示二分k次后求得的梯形值,且以 表示序列 的j次加速值。)(0T)(jkT)(0kTRomberg求积公式的T表如下k h )(0kT)(1k)(2k)(3k)(4k0 b-a )( 1 2ab)1(0)0(1 2 4)2(T)()0(2T3 8)3(0)2(1)1()0(34 16ab)4()3()2()1()0(4TMMMORomberg求积公式(逐次分半加速公式)如下 LL,21,21

13、,4)(21)(1)(1)()0)(0)0(1 kjTTabiafbjkjkjjkik k数据结构:一个二维数组算法设计: Romberg求积公式的算法如下第一步:取k=0,h=b-a,求 )(2)0( bfahT第二步:令1k(k记区间a,b的二分次数)求梯形值 ,按梯形的递推公式;)(0k求加速值,按公式逐个求出T表的第k行其余各元素 (j=1,2, ,k) ;)(jkT若 (预先给定的误差精度) ,k+1k,则转;)0(1)(k第三步:输出 和等分数 (或二分次数k) ,结束算法。)(2编写代码:(略)实验用例: dxI10)cos(试验要求:利用Romberg求积公式求上述定积分( )

14、 ,误差精度631972.02I。6102.2.7 实验七实验题目:数值微分相关知识:数值微分的中点公式为 hxffhGxf 2)()()( 应用理查森(Richardson)外推对h逐次分半,计算过程如下表(G 0(h0=G(h)(02)(1)(0h2h)(2hG3G)(1 )(3hMMO计算公式为LL,210,21,14)()2()2( )()()(110 kjhGhhGxfxfjkjkjjkj kkk数据结构:一个二维数组算法设计:(略)编写代码:(略)实验用例: xef)(试验要求:利用数值微分的外推算法求 的近似值)1(f2.2.8 实验八实验题目:用Gauss消元法求解线性代数方程

15、组相关知识:在做除法运算时,分母的绝对值越小,舍入误差就越大。因此,消元的每一步都先选取绝对值比较大的元素(称作主元) ,用它作分母再消元。这就是主元素消去法的基本思想。数据结构:用一个二维数组存储线性代数方程组的增广矩阵;线性代数方程组的解最后存储在增广矩阵的最后一列上。算法设计:用列主元Gauss消元法求解线性代数方程组(同时求出系数行列式的值det)的算法为第一步:det1;第二步:对于k=1,2,n-1按列选取主元,找 ,使,1,nkiLiknkiamx如果 (最好是 , 为预先给定的一个非常小的数) ,则0kiakiadet=0,计算停止如果 (或 ) ,则换行ikik 1,njaijkLdet-det消元计算,对于i=k+1,k+2,n kiia对于j=k+1,k+2,n+1kjiijij kadet第三步:如果 (最好是 , 为预先给定的一个非常小的数) ,则0nndet=0,计算停止,否则,回代求解 nna1,1,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号