- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机绘制牛顿插值曲线的技术
计算机绘制牛顿插值曲线的技术莫春柳魏尊亮广东工业大学制图教研室,广州,510643摘要牛顿插值是通过一系列定点定义一条曲线的常用方法.在已知结点数值的条件下利用计算机构造插值函数、绘制插值曲线,可以减轻设计人员的计算工作量,提高计算和作图的准确性.插值曲线绘制技术包括构造插值函数,绘制曲线,结点编辑等内容.关键词牛顿插值函数;差商;曲线绘制中图资料法分类号TP391141;O24113对几何外形信息的计算机表示、分析和综合,称为计算机辅助几何设计,这是一门侧重于工程技术的学科,它通过曲线、曲面的型值点、特征网格顶点以及曲线的切矢等形状信息,在计算机中建立相应的数学模型,然后对这些信息进行分析和综合,实现对几何形状的控制与输出.曲线插值是其中的一个内容,其过程是通过一系列给定点定义一条曲线,曲线方程称为插值函数.应用插值方法绘制拟合曲线有较广泛的实用价值,如通过一系列的点描述自由型面的轮廊线,或根据实验数据绘制实验曲线等.构造插值函数的方法有多种,其中最常用的是拉格朗日(Lagrange)插值、牛顿(Newton)插值和埃尔米特(Hermite)插值,本文着重讨论在计算机中如何建立牛顿插值函数的数学模型,牛顿插值曲线的绘制方法,结点的编辑等内容.牛顿插值公式及拟合曲线的分析牛顿插值法是根据已知的型值点,按牛顿插值公式构造代数多项式,即曲线方程,最终绘制出插值曲线.1设y=f(x)是变量x的单值函数,已知f(x)在n+1个不同的点x0x1xn处的值为y0,y1,,yn,即yi=f(xi),(i=0,1,,n),其中x0,x1,,xn称为插值结点.牛顿插值函数可以写为:Nn(x)=f(x0)+f(x0,x1)(x-x0)+xn-1),+f(x0,x1,,xn)(x-x0)(x-x1)(x-系数f(x0,x1),f(xi)=yi,f(x0,x1,,xn)称为差商(或均差),按照差商的定义,有f(xi)-f(xi+1)称为f(x)的一阶差商.f(xi,xi+1)=x-xii+1f(xi,xi+1)-f(xi+1,xi+2称为f(x)的二阶差商,f(xi,xi+1,xi+2)=x-xii+2f(xi,xi+1,,xi+k-1)-f(xi+1,,xi+k)称为f(x)的k阶差f(xi,xi+1,,xi+k)=x-xii+k收稿日期:1998-01-08莫春柳女35岁讲师第4期莫春柳等:计算机绘制牛顿插值曲线的技术25商.从上面求差商的公式可知,一阶差商由相邻的两点确定,二阶差商由相邻三点确定,是两个一阶差商的差商,k阶差商由k+1个相邻点确定,是两个k-1阶差商的差商,差商的计算是递推的.在Nn(x)式中,各项系数是关于第一个结点(x0,y0)的各阶差商,然而为了求出各项系数,仍然要计算出有关结点的差商.由牛顿插值函数Nn(x)可知,插值函数的次数与插值结点的个数有关,给出两个结点,插值函数为线性式,称为线性插值;给出三个结点,插值函数为二次式,称为抛物插值;每新增一个结点,Nn(x)增加一项,次数增高一次,函数波动增加,出现多余拐点,误差增大[1];因此,应用牛顿插值函数绘制拟合曲线时,结点个数的选择要适当.差商的计算机表示建立牛顿插值函数的数学模型,先要解决差商的计算机表示的问题,即如何将差商的求解过程用程序语句表示,并能通过循环语句求出各阶差商.在程序中,由自定义的Newton()函数完成各阶差商的计算.用二维数组f(j,i)记录各阶差商,其中j记录差商的阶数,i表示所计算的差商是关于第i个结点的差商,即f(j,i)为以第i个结点为起点的j阶差商,根据差商的定义式有如下关系式成立:f(0,i)=Yi2f(1,i)=f(0,i)-f(0,i+1)为以第i个结点为起点的一阶差商Xi-Xi+1f(j,i)=f(j-1,i)-f(j-1,i+1)为以第i个结点为起点的j阶差商Xi-Xi+j在程序中,只要将j和i做为循环变量,即可求出构造牛顿插值多项式所需的各阶差商.程序的编制构造牛顿插值函数,绘制拟合曲线是作者编制的计算机辅助曲线设计软件的一个子模块,程序语言为BorlandC++310.该模块包括结点数值的获得,结点编辑,计算各阶差商,列差商表,绘制插值曲线等内容.311结点数据的存储方式及结点编辑结点数据包括结点坐标值、结点号等,本程序用线性链表存储结点数据,链表中的节点为一个结构体,其形式如下:structpoint{intmumb;floatx,y;structPoint3next;};结构体中的成员有结点号、结点坐标值、指向后继节点的指针.结点编辑的内容包括插入和删除结点,修改结点数值[2].312插值曲线的绘制3?1994-2013ChinaAcademicJournalElectronicPublishingHouse.Allr
文档评论(0)