数值计算数值分析实验分段三次埃尔米特hermite插值c程序实现流程图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验四分段三次埃尔米特插值
(一)实验目的
掌握分段三次埃尔米特插值算法。
(二)实验项目内容
1.写出计算步骤和流程图。
2.对每种算法分别用C或c#程序实现。
3.调试程序。可用以下数据进行调试。
已知函数y=1/(1+x2)在区间[0,3]上取等距插值节点,求区间[0,3]上的分段三次埃尔米特插值函数,并利用它求出f(1.5)的近似值(0.3075)。
(三)主要仪器设备
微机
(四)实验室名称
公共计算机实验室
(五)实验报告撰写
实验四分段三次埃尔米特插值
实验报告
一、流程图
二、程序代码
#include
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);
}
三、运行结果【截图】