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

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验四分段三次埃尔米特插值

(一)实验目的

掌握分段三次埃尔米特插值算法。

(二)实验项目内容

1.写出计算步骤和流程图。

2.对每种算法分别用C或c#程序实现。

3.调试程序。可用以下数据进行调试。

已知函数y=1/(1+x2)在区间[0,3]上取等距插值节点,求区间[0,3]上的分段三次埃尔米特插值函数,并利用它求出f(1.5)的近似值(0.3075)。

x0 1 2

i

y 1 0.5 0.2 i

y 0 -0.5 -0.16 i

(三)主要仪器设备

微机

(四)实验室名称

公共计算机实验室

(五)实验报告撰写

实验四分段三次埃尔米特插值

实验报告

一、流程图

二、 程序代码

#include

#include

float f0(float x) N Y

开始

输入i x ,i y ,x

y=0, j=0

t=1

i j i

x x t t x x -=- i=0,…j-1,j+1,…n i y y ty =+

j=n? 输出y

结束

j=j+1

{

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);

}

三、运行结果【截图】

相关文档
最新文档