ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:55.16KB ,
资源ID:12670142      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12670142.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(计算方法实验指导书h1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

计算方法实验指导书h1.docx

1、计算方法实验指导书h1计算方法实验指导书“计算方法”课程的任务有两个:其一,掌握以计算机为计算工具的各类数值计算方法及与此相关的理论;其二,利用学到的计算机编程语言,将各类数值计算方法,编写计算程序、上机调试通过。因此,本课程不仅具有数学的抽象性与严格性,还具有与计算机密切结合的实用性。“计算方法”课程的上机实习,是实现上述课程教学目的的重要手段。是将学到的计算机编程语言,结合具体任务,进行实践的必要过程。是学生计算机能力培养的一个重要环节。按照课程教学要求,本课程的总学时为:48学时,其中理论教学为28学时,实验教学学时为20学时。20学时的上机实习中,设计有8个实习内容,每个内容的学时安排

2、如下:实验1:舍入误差与数值稳定性 验证性 (2学时)实验2:方程求根1二分法 综合性 (2-4学时)实验3:方程求根2牛顿迭代法 综合性 (2-4学时)实验4:线性方程组数值解法 设计性 (4-6学时)实验5:插值法 设计性 (2学时)实验6:曲线拟和 综合性 (4-6学时)实验7:数值积分 设计性 (2学时)实验8:常微分方程的数值解法 设计性 (2学时)序号项目名称实验课时内容提要教学要求(了解观察、熟悉、掌握、熟练掌握及运用等)实验类别实验方式适用专业备注1舍入误差与数值稳定性2录入、编辑、调试程序,熟悉C语言;通过不同算法的选用,了解舍入误差与数值的稳定性。熟悉C语言程序设计及上机操

3、作;了解舍入误差所引起的数值不稳定性。验证性教师指导,学生独立完成测控技术与仪器必修2方程求根1(二分法)2-4学生根据给定的要求,编写二分法程序,并调试通过;通过实验输入不同的参数,了解该方法的特点。完成实习报告。掌握方程求根的二分法的算法;熟悉二分法的特点。综合性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器必修3方程求根2(牛顿迭代法)2-4学生根据给定的要求和牛顿迭代法的算法,编写牛顿迭代法程序,并调试通过;通过实验输入不同的参数了解牛顿迭代法的特点。完成实习报告。掌握方程求根的牛顿迭代法的算法;熟悉牛顿迭代法的特点。综合性根据实验指导书要求,学生独立完成,教师解惑测控技术与

4、仪器必修4线性方程组数值解法(列主元高斯消去法)4-6熟悉掌握列主元高斯消去法算法;学生根据给定的要求编写列主元高斯消去法程序,并调试通过;编程能力强的在完成上面任务的基础上,还可以选做本章其他方法。熟悉列主元高斯消元法解线性方程组的算法;掌握二维数组、函数、输入输出语句的使用;掌握列主元高斯消去法的编程。设计性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器必修5插值法(拉格朗日插值法)2熟悉拉格朗日插值多项式;学生编写、录入程序,并调试通过;通过实验了解该方法的特点。掌握拉格朗日插值多项式,注意其特点。设计性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器选修6曲线拟合(最

5、小二乘法)4-6熟悉最小二乘法的算法;编写最小二法进行曲线拟合的程序,并调试通过;用程序解决实际问题。完成实习报告。了解最小二乘法的基本原理;熟悉最小二乘算法;掌握最小二乘进行曲线拟合的编程;通过程序解决实际问题。综合性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器必修7数值积分(龙贝格算法)2熟悉龙贝格求积的算法;自编或录入龙贝格求积程序,并调试通过,体会该程序的巧妙处;掌握龙贝格求积的算法;掌握该算法的编程,了解该程序的巧妙设计处。设计性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器选修8常微分方程的数值解法(改进欧拉方法)2熟悉改进欧拉方法;自编或录入改进欧拉程序,并

6、调试通过;有能力的还可完成龙格-库塔程序。掌握改进欧拉算法;掌握改进欧拉算法的编程。设计性根据实验指导书要求,学生独立完成,教师解惑测控技术与仪器选修实验报告的要求:(实验项目,例:)实验一 舍入误差与数值稳定性班级: 学号: 姓名: 一、目的和要求二、实习内容三、算法四、实验步骤五、实验结果六、分析和讨论七、心得(*可选)调试过程中遇到的问题和解决对策;经验体会等。实验一 舍入误差与数值稳定性目的与要求:1)通过上机编程,复习巩固以前所学程序设计语言及上机操作指令和方法;2)通过上机运算,了解舍入误差所引起的数值不稳定性和大数吃小数的情况。实验内容:1)数值稳定与不稳定的计算公式2)实验习题

7、一的第1小题。(大数吃小数的问题)思考:1)什么是数值稳定与不稳定的计算公式?2)习题一的第1小题:怎样是正确的?其他(略)(见课本P185-187)实验二 方程求根1二分法目的与要求:1)通过对二分法的编程练习,掌握方程求根的二分法的算法;2)通过对二分法的上机运算,进一步体会二分法的特点。算法:1)准备:计算f(x)在有根区间a, b端点处的值 f(a), f(b)。2)二分:计算f(x)在区间中点c=处的函数值f(c)。3)判断若f(c)与f(a)异号,则根位于区间a, c内,以c代替b;若f(c)与f(a)同号,则根位于区间c, b内,以c代替a;反复执行步2和步3,直到区间a, b长

8、度缩小到允许误差范围之内或f(c)=0,此时区间中点c即可作为所求的根。计算:fa=f(a), fb=f(b), fab=fa*fb计算:c=(a+b)/2, fc=f(c)|fc|DELTA| b-aEPS?(1)fa*fc0 or(2)fc*fb0?b=cfb=fca=cfa=fc输出cyn(1)(2)输入a, b, EPS, DELTAfab0?yn提示无根准备二分判断实验内容:1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。编程要求:1)根的容许误差限EPS用输入语句输入。2)根的区间a,b要求用输入语句输入。3)输入初始值后,在开始二分法之前,先估算二分次数并输出。实验步

9、骤:1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a, b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。(实验报告的编写见下一页)实验报告 方程求根二分法班级: 学号: 姓名: 一、目的和要求1)通过对二分法的编程练习,掌握方程求根的二分法的算法;2)通过对二分法的上机运算,进一步体会二分法的特点。二、实习内容1)二分法的编程实现。2)进行有根区间和误差限的比较和讨论。三、算法流程图:计算:fa=f(a), fb=f(b), fab=fa

10、*fb计算:c=(a+b)/2, fc=f(c)|fc|DELTA| b-aEPS?(1)fa*fc0 or(2)fc*fb0?b=cfb=fca=cfa=fc输出cyn(1)(2)输入a, b, EPS, DELTAfab0?yn提示无根准备二分判断1)准备:计算f(x)在有根区间a, b端点处的值 f(a), f(b)。2)二分:计算f(x)在区间中点c=处的函数值f(c)。3)判断若f(c)与f(a)异号,则根位于区间a, c内,以c代替b;若f(c)与f(a)同号,则根位于区间c, b内,以c代替a;反复执行步2和步3,直到区间a, b长度缩小到允许误差范围之内或f(c)=0,此时区间

11、中点c即可作为所求的根。四、实验步骤1)完成二分法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)对比估算次数与实际二分次数;5)输入不同的区间初值a, b,查看二分次数的变化;6)输入不同的误差限,查看二分次数的变化;7)完成实验报告。五、实验结果1.经编译、链接及例子验证结果正确的源程序:#include#include#define EPS 5e-6#define DELTA 1e-6void main() float a=1,b=2,c,fa,fb,fc,fab; fa=a*a*a+a*a-3*a-3; fb=b*b*b+b*b-

12、3*b-3; fab=fa*fb; while(1) if(fab0) printf(wugen); break; c=(a+b)/2; fc=c*c*c+c*c-3*c-3; if(fabs(fc)DELTA)break; if(fa*fc0) b=c; fb=fc; else if(fc*fb0) a=c; fa=fc; if(b-aEPS)break; printf(c=%f,fc=%f,c,fc);2. 实例验证结果:1)方程:f(x)=x3+x2-3x-3=02)输入初始参数:a=1, b=2, EPS=5e-63)结果输出:3. 改变a, b的值为:a=0, b=2, EPS不变,

13、仍为5e-6,其结果为:4. 改变EPS的值为:EPS=5e-4, a, b不变,仍为a=1, b=2,其结果为:六、分析和讨论1.估算次数与实际二分次数的分析和讨论2.输入不同的区间初值a, b,二分次数的变化情况3.输入不同的误差限EPS,二分次数的变化情况七、心得调试过程中遇到的问题和解决对策;经验体会等。实验三 方程求根2牛顿迭代法目的与要求:1)通过对牛顿迭代法的编程练习,掌握方程求根的牛顿迭代法的算法;2)通过对牛顿迭代法的上机运算,进一步体会牛顿迭代法的特点。算法:用迭代法的结构,增设4个工作单元F0, F0, F1, F1,并把用作终止迭代的误差控制改为两个|x1-x0|EPS

14、或|f(x1)|DELTA。1. 准备:选定初始值x0, 计算F0=f(x0); F0=f(x0), 如果F0=0,则输出“方法失败”并结束。2. 迭代:对k=1,2,N,做:1) x1=x0-F0/F0 ,2) 计算F1=f(x1); F1=f(x1) 3) 若F1=0,则输出“方法失败”并结束。3. 控制:若|x1-x0|EPS或|F1|N时输出“经N次迭代无满足要求的近似解”结束。F0=f(x0), F0=f(x0), k=0x1=x0-F0/F0, F1=f(x1), F1=f(x1), k=k+1, (可输出x1)F1=0 | kN?返出x1作为最终结果x0=x1,F0=F1,F0=

15、F1算法失败ynyn输入x0, EPS, DELTA,NF0=0?ny|x1-x0|EPT| | |F1|N?返出x1作为最终结果x0=x1,F0=F1,F0=F1算法失败ynyn输入x0, EPS, DELTA,NF0=0?ny|x1-x0|EPT| | |F1|DELTA?算法:用迭代法的结构,增设4个工作单元F0, F0, F1, F1,并把用作终止迭代的误差控制改为两个|x1-x0|EPS或|f(x1)|DELTA。1. 准备:选定初始值x0, 计算F0=f(x0); F0=f(x0), 如果F0=0,则输出“方法失败”并结束。2. 迭代:对k=1,2,N,做:1) x1=x0-F0/

16、F0 ,2) 计算F1=f(x1); F1=f(x1) 3) 若F1=0,则输出“方法失败”并结束。3. 控制:若|x1-x0|EPS或|F1|N时输出“经N次迭代无满足要求的近似解”结束。四、实验步骤1)完成牛顿迭代法的程序设计及录入;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)分别输入两组不同的根的误差限,观察运算次数的变化;5)分别取不同的初时值x0,观察运算结果的变化;6)完成实验报告。五、实验结果1. 经编译、链接及例子验证结果正确的源程序:#include#include#define N 100#define eps 1e-6#defin

17、e eta 1e-8void main() float x=1,x1,a,fx,fx1; int k=0; do fx=x*x*x+x*x-3*x-3; fx1=3*x*x+2*x-3; a=x-fx/fx1; x=a; printf(a=%fn,x); while(fabs(fx/fx1)=eps); printf(a=%fn,x); 2. 实例验证结果:1)方程:f(x)=x3+x2-3x-3=02)输入初始参数:x0=1, EPS=1e-63)结果输出:3. 改变初值x0的值为:x0=1.5, EPS不变,仍为1e-6,其结果为:4. 改变初值x0的值为:x0=0.1, EPS不变,仍为

18、1e-6,其结果为:5. 改变EPS的值为:EPS=5e-4, x0不变,仍为1,其结果为:6. 改变EPS的值为:EPS=1e-3, x0不变,仍为1,其结果为:六、分析和讨论1.输入不同的初值x0,迭代次数的变化情况2.输入不同的误差限EPS,迭代次数的变化情况七、心得调试过程中遇到的问题和解决对策;经验体会等。实验四:线性方程组数值解法列主元高斯消去法目的与要求:1)熟悉列主元高斯消元法解线性方程组的算法;2)掌握列主元高斯消去法的编程。实验内容:列主元高斯消去法的编程实现。算法:消元:对k=0,2,n-2,按下列步骤进行:选主元:找出mk,k+1,n-1,使若|am,k|DELTA,则

19、A奇异,结束程序,否则继续若mk,交换第k行与第m行对应的元素(换行):消元:对i=k+1,n-1,计算l=lik=aik/akk; 对j=k+1,n-1,n,计算aij=aij-lik*akj =aij-l*akj回代:若|ann|DELTA,则A奇异,结束程序,否则继续xn-1=an-1,n / an-1, n-1对i = n-2 , 1, 0,计算:编程要求:1)方程组的矩阵系数用二维数组表示,不用指针,且其值要求用输入语句输入。(数组形式的完成,经检查后,有能力的可以改用指针方式)2)方程组的元数n要求用输入语句输入。3)加入中间运算结果的显示,以便于检查程序。4)列主元解方程组方法写

20、成函数形式。如:void ColPivot(float a1011, int n, float x10)实验步骤:1)完成列主元高斯消去法解线性方程组的程序设计及录入、编辑;2)完成程序的编译和链接,并进行修改;3)用书上P52例2的例子对程序进行验证,并进行修改;4)用完成的程序解算习题中的题目。实验五:插值法拉格朗日插值多项式目的与要求:1)熟悉拉格朗日插值多项式,注意其特点。2)掌握拉格朗日插值法的编程。实验内容:拉格朗日插值法的编程实现。算法:1)输入数据:n,xi,yi(i=0,1,2,n-1),xx2)初始化:li=1,yy=03)计算: i循环(外循环): j循环(内循环) (j

21、=0,1,2,n-1): (i=0,1,2,n-1)yy=0li=li*(xx-xj)/(xi-xj)i=j?输出yyfor(j=0;j=n;j+)输入n, x,y, xxnyli=1yy=yy+li*yifor(i=0;i=n;i+)编程要求:1)插值节点个数n用输入语句输入。2)用输入语句输入各节点的数据xi, yi (i=0,1,2,n) 。3)用输入语句输入待插值点的x值xx。实验步骤:1)完成拉格朗日插值多项式进行插值的程序设计及录入、编辑;2)完成程序的编译和链接,并进行修改;3)用书上的例子对程序进行验证,并进行修改;4)用完成的程序解算习题中的题目。实验六:曲线拟合最小二乘法目

22、的与要求:1)了解最小二乘法的基本原理,熟悉最小二乘算法;2)掌握最小二乘进行曲线拟合的编程,通过程序解决实际问题。实验内容:1)最小二乘进行多项式拟合的编程实现。2)用完成的程序解决实际问题。算法:1)输入数据节点数n,拟合的多项式次数m,循环输入各节点的数据xj, yj(j=0,1,n-1)2)由xj求S;由xj,yj求T:Sk = ( k=0,1,2, 2*m )Tk= ( k=0,1,2, m ) 3)由S形成系数矩阵数组ci,j:cij=Si+j (i=0,1,2,m, j=0,1,2,m);由T形成系数矩阵增广部分ci,m+1:cim+1=Ti (i=0,1,2,m)4)对线性方程

23、组CA=T或,用列主元高斯消去法求解系数矩阵A=(a0,a1,am)TAX=B或编程要求:1)直接调用高斯消去法解方程组的函数。2)数据节点数n,拟合次数m,及数据xj, yj(j=0,1,n-1)要求用输入语句输入。3)数据使用数组方式,不用指针方式。4)实验报告中写出计算公式,所有脚标要求与程序中的循环变量对应。5)加入中间运算结果的显示,以便于检查程序。实验步骤:1)完成最小二乘法进行曲线拟合的程序设计及录入、编辑;2)完成程序的编译和链接,并进行修改;3)用书上P105例2的例子对程序进行验证,并进行修改;4)用完成的程序求解下面的实际问题。5)完成实验报告。问题:作物体运动的观测实验

24、,得出以下实验测量数据,用最小二乘拟合求物体的运动方程。时间t(秒)00.91.93.03.95.0距离s(cm)010305080110解题步骤:(1)画草图(2)确定拟合方程(3)用完成的程序输入数据,求取拟合方程中的未知数,得出方程。(实验报告见下一页)显示拟合结果、计算误差的程序例子: /显示结果 printf(y = %f, x0); for(i=1; i=0) printf(+ %f , xi); else printf(%f , xi); for(j=0; ji; j+) printf(* x ); /计算误差 e=0; for(i=0; inn; i+) p=x0; for(j

25、=1; j=m; j+) l=1; for(k=0; kj; k+) l = l*xxi; p += l * xj; e += (p - yyi) * (p - yyi); /计算误差结束 printf(nThe error is %f.n, e);/显示误差实验报告 曲线拟合最小二乘法班级: 学号: 姓名: 一、目的和要求1)了解最小二乘法的基本原理,熟悉最小二乘算法;2)掌握最小二乘进行曲线拟合的编程,通过程序解决实际问题。二、实习内容1)最小二乘进行多项式拟合的编程实现。2)用完成的程序解决实际问题。三、算法1)输入数据节点数n,拟合的多项式次数m,循环输入各节点的数据xj, yj(j=0,1,n-1)2)由xj求S;由xj,yj求T:Sk = ( k=0,1,2, 2*m )Tk= ( k=0,1,2, m ) 3)由S形成系数矩阵数组ci,j:cij=Si+j (i=0,1,2,m, j=0,1,2,m);由T形成系数矩阵增广部分ci,m+1:cim+1=Ti (i=0,1,2,m)4)对线性方程组CA=T或,用列主元高斯消去法求解系数矩阵A=(a0,a1,am)TAX=B或四、实验步骤1)完成最小二乘法进行曲线拟合的程序设计及录入、编辑;2)完成程序的编译和链接,并进行修改;3)用书上P105例2的例

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1