- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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);
您可能关注的文档
最近下载
- 初中道德与法治新人教版七年级上册全册教案(2024秋).pdf VIP
- 2025年无犯罪记录证明申请表申请书(模板).docx VIP
- 《新媒体营销基础》课件——新媒体营销概述.pptx VIP
- 项目计划进度管理流程图.pdf VIP
- 2024广播电视播音员主持人考试历年机考真题集附答案详解【考试直接用】.docx VIP
- 200MWh储能电站安全预评价报告.doc VIP
- 华为经营管理-华为的流程管理(6版).doc VIP
- 2015-2020年一建历年真题-水利.pdf VIP
- 平行文本在翻译中的运用.ppt VIP
- 口腔医疗行业市场规模增长与竞争格局分析报告:2025年市场展望.docx
文档评论(0)