文档详情

数值计算(数值分析)实验4-分段三次埃尔米特(hermite)插值【c程序实现+流程图】.doc

发布:2018-05-16约小于1千字共4页下载文档
文本预览下载声明
实验四 分段三次埃尔米特插值 (一)实验目的 掌握分段三次埃尔米特插值算法。 (二)实验项目内容 1.写出计算步骤和流程图。 2.对每种算法分别用C或c#程序实现。 3.调试程序。可用以下数据进行调试。 已知函数y=1/(1+x2)在区间[0,3]上取等距插值节点,求区间[0,3]上的分段三次埃尔米特插值函数,并利用它求出f(1.5)的近似值(0.3075)。 0 1 2 1 0.5 0.2 0 -0.5 -0.16 (三)主要仪器设备 微机 (四)实验室名称 公共计算机实验室 (五)实验报告撰写 实验四 分段三次埃尔米特插值 实验报告 流程图 程序代码 #includestdio.h #includemath.h float f0(float x) { return((x-1)*(x-1)*(2*x+1)); } float f1(float x) { return(x*x*(-2*x+3)); } float g0(float x) { return(x*(x-1)*(x-1)); } float g1(float x) { return(x*x*(x-1)); } void main() {float x0,x1,x,y0,y1,yy0,yy1,h,p; printf(输入x0,x1,x,y0,y1和yy0,yy1的取值); scanf(%f%f%f%f%f%f%f,x0,x1,x,y0,y1,yy0,yy1); h=x1-x0; p=y0*f0((x-x0)/h)+y1*f1((x-x0)/h)+h*yy0*g0((x-x0)/h)+h*yy1*g1((x- x0)/h); printf(%f\n,p); } 运行结果【截图】 N Y 开始 输入,,x y=0, j=0 t=1 i=0,…j-1,j+1,…n j=n? 输出y 结束 j=j+1
显示全部
相似文档