数值实验上机作业.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数值实验上机作业数值实验上机作业

第1章 插值方法 一、实验目的 掌握拉格朗日插值公式、牛顿插值公式、埃特金插值公式。 了解拉格朗日插值基函数的图形。 了解拉格朗日插值基函数的叠加性质。 观察高次插值的Runge现象。 比较拉格朗日插值与泰勒展开的区别。 了解分段三次埃尔米特插值基函数的图形。 避免发生Runge现象的分段插值公式逼近。 二、实验内容` 用拉格朗日插值公式、牛顿插值公式、埃特金插值公式编写教材第一章习题4的数值计算程序。并打印牛顿差商表、埃特金插值表。 编写显示拉格朗日插值基函数的图形程序=。 编写显示拉格朗日插值基函数叠加性质的图形程序。 编写显示高次插值Runge现象的图形程序。 编写比较拉格朗日插值与泰勒展开对同一个函数逼近的图形程序。 编写显示分段三次埃尔米特插值基函数的图形程序。 编写用分段三次埃尔米特插值公式逼近Runge函数的图形程序。 三、举例说明 Turbo C2.0具有图形库函数,所有这些图形函数均在头文件“graphics.h”中定义。所以,凡是在程序中要调用这些图形函数,都必须在程序文件的开头写上文件包含命令: #include graphics.h 在一般缺省情况下,屏幕为文本方式。在文本方式下,所有的图形函数均不能操作。因此,在使用图形函数绘图之前,必须将屏幕显示适配器设置为一种图形模式,这就是通常所说的“图形方式初始化”。 图形方式初始化是通过函数initgraph(gdriver, gmode, ..\\bgi)来完成的。它的功能是通过从磁盘上装入一个图形驱动程序来初始化图形系统,并将系统设置为图形方式。其中..\\bgi,用来指明图形驱动程序所在的路径。   在运行图形程序绘图结束后,又要回到文本方式,以进行其它工作。这时应关闭图形方式。关闭图形方式要调用函数closegraph()。它的作用是:释放所有图形系统分配的存储区,恢复到调用initgraph之前的状态。   在图形方式下,屏幕上每一个可以控制的单元叫做象素,它是组成图形的基本元素,一般称为“点”。通常把屏幕上所包含的象素的个数叫做“分辨率”。 分辨率越高,显示的图形越细致、质量越好。VGA显示器的分辨率为640*480,即VGA显示器在水平方向上有640个象素,垂直方向上有480个象素。每个象素的显示位置用点坐标系来描述。在这种坐标系,屏幕左上角为坐标系原点(0,0),水平方向为X轴,自左向右;垂直方向为Y轴,自上向下。如图1所示。      图1 屏幕坐标系 在Turbo C中,坐标数据可以两种形式给出:一种是绝对坐标;另一种是相对坐标。绝对坐标的参考点是坐标系的原点(0,0),x和y只能取规定范围内的正整数,其坐标值在整个屏幕范围内确定。相对坐标是相对与“当前点”的坐标,所以其坐标的参考点不是坐标系的原点,而是当前点。在相对坐标中,,x和y的取值是相对与当前点在x方向和y方向上的增量,这个增量可以是正的,也可以是负的。 我们在编制图形程序时,需要设置画线颜色、在指定位置显示一字符串等,均需调用图形库函数。这些图形库函数的使用方法可参照Turbo C2.0所提供的演示程序BGIDEMO.c。 源程序中,语句“line(50, yy, xx, yy)” 是调用直线函数。这个函数是在(50,yy)和(xx,yy)两点之间画一条直线。这里,(50,yy)和(xx,yy)分别为直线的两个端点坐标,使用的是绝对坐标。 语句“moveto(xx,yy)”是用于移动当前点位置到点(xx,yy)处,并不画线,使用的是绝对坐标。 语句“ lineto(xx,yy)”是用于从当前点位置到指定位置(xx,yy)之间画一条直线,并改变当前点的位置 。 /* Lagr.c 程序功能:画插值基函数,,m = 2, 3, 4, …,10 */ #include graphics.h #include stdlib.h #include stdio.h #include conio.h #include math.h int main(void) { /* request auto detection */ int gdriver = DETECT, gmode, errorcode; int xx, yy,i,n,x0,y0,j,k,m,l=10; float tx,ty,x[10],y[10],t,txx; char msg[80]; /* initialize graphics and local variables */ initgraph(gdriver, gmode, ..\\bgi);

文档评论(0)

cxiongxchunj + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档