《数值分析实验四Hermite插值法(共8页).doc》由会员分享,可在线阅读,更多相关《数值分析实验四Hermite插值法(共8页).doc(8页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上数值分析实验报告专业:计算机科学与技术班级:14汉(2)学号:姓名:于童指导教师:马季骕老师实验项目Hermite插值法算法介绍学会Hermite插值法,并应用该算法于实际问题.求一个函数(x)用来近似函数f(x),用分段三次Hermit插值的方法来求解近似函数(x)并画出近似函数图像及原函数图像。设在区间a,b上,给定n+1个插值节点和相应的函数值以及一阶导数值,求一个插值函数,满足以下条件: (1) (2)在每一个小区间上是三次多项式。 (3)对于给定函数。在区间上画出f(x)和分段三次Hermit插值函数的函数图像。 算法分析1.分段三次Hermit插值的算法思
2、想:分段三次Hermit插值的做法是在每一个小区间上作三次Hermit插值,因此在每一个插值节点上都需要构造两个插值基函数,然后再作它们的线性组合。分段三次Hermit插值基函数如下: 2.分段三次Hermit插值函数是: 实验源代码 void CMyView:Onher() / TODO: Add your command handler code hereint x00=300,y00=350,i,j;double x;CDC *pDC=GetDC();pDC-SetMapMode(MM_LOMETRIC);pDC-SetViewportOrg(x00,y00);/画坐标轴与原函数for(
3、i=-700; iSetPixel(i,0,RGB(0,0,0);pDC-SetPixel(0,i,RGB(0,0,0);double yx=-1,-0.8,-0.6,-0.4,-0.2,0,0.2,0.4,0.6,0.8,1;double yy12;for(i=0; iTextOut(-30,-10,0); pDC-TextOut(-30,430,1); pDC-TextOut(490,-10,1); pDC-TextOut(-490,-10,-1); pDC-MoveTo(-10,680); /x箭头pDC-LineTo(0,700);pDC-MoveTo(0,700);pDC-LineT
4、o(10,680); pDC-MoveTo(680,10); /y箭头pDC-LineTo(700,0);pDC-MoveTo(700,0);pDC-LineTo(680,-10);pDC-TextOut(-30,700,y);pDC-TextOut(700,-10,x);/分段三次Hermite差值的函数double x0,x1,yd1,yd0,y1,y0;for(i=0; i10; i+)x0=yxi,x1=yxi+1;y0=1.0/(1+25*x0*x0);y1=1.0/(1+25*x1*x1);yd0=-(50*x0)*1.0/(1+25*x0*x0)*(1+25*x0*x0);yd1
5、=-(50*x1)*1.0/(1+25*x1*x1)*(1+25*x1*x1); for(double qq=x0; qqSetPixel(qq*500,pp*400,RGB(225,185,15);实验结果结果分析 通过本次实验我对分段三次Hermit插值有了更深刻更全面的掌握,它在给定了节点处的函数值和导数值以后,构造了一个整体上具有一阶连续微商的插值函数。分段三次Hermit插值降低了插值多项式的次数,而且保证了插值函数在节点处一阶导数连续,从而使插值函数的光滑性更好。但是在实际问题中给出节点处的函数值比较方便,给出导数值就很困难了。分段三次Hermit插值函数属于插值曲线,适合于已知曲线上的某些点而生成曲线的情形,在许多实际问题中缺少灵活性和直观性。况且它只具有一阶光滑性,但很多实际问题中需要更好的光滑性,这就要求有更好的方法来解决问题,比如Bezier曲线,B样条曲线等。此文档可自行编辑修改,如有侵权请告知删除,感谢您的支持,我们会努力把内容做得更好专心-专注-专业