南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09
指导老师评定:
一、实验目的 实验名称: 二次插值法 姓名: 同组人: 签名:
1.加深对二次插值法的理解
二、实验内容
从函数表
出发,用分段二次插值法计算f(0.15),f(0.31),f(0.47)的近似值。
三、实验步骤
void main()
{
double a[6]={0.0,0.1,0.195,0.3,0.401,0.5};
double b[6]={0.39894,0.39695,0.39142,0.38138,0.36812,
0.35206};
int i,j,k,m=5;
南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09 实验名称: 二次插值法 姓名: 同组人: 指导老师评定: 签名:
float x,q=1,p,f=0;
scanf("%f",&x);
printf("x=%f\t",x);
for(j=1;j
{ p=0.5*(a[j]+a[j+1]);
if(x
{ i=j;
break;
}
else
i=m-1;
}
for(k=i-1;k
{ for(j=i-1,q=1;j
南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09 实验名称: 二次插值法 姓名: 同组人: 指导老师评定: 签名: q*=(x-a[j])/(a[k]-a[j]);
}
f+=b[k]*q;
}
printf("f=%f",f);
四、 实验结果
当x=0.15时
f=0.394460
当x=0.31时
f=0.380225
当x=0.47时
f=0.357247
南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09
指导老师评定:
一、实验目的 实验名称: 二次插值法 姓名: 同组人: 签名:
1.加深对二次插值法的理解
二、实验内容
从函数表
出发,用分段二次插值法计算f(0.15),f(0.31),f(0.47)的近似值。
三、实验步骤
void main()
{
double a[6]={0.0,0.1,0.195,0.3,0.401,0.5};
double b[6]={0.39894,0.39695,0.39142,0.38138,0.36812,
0.35206};
int i,j,k,m=5;
南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09 实验名称: 二次插值法 姓名: 同组人: 指导老师评定: 签名:
float x,q=1,p,f=0;
scanf("%f",&x);
printf("x=%f\t",x);
for(j=1;j
{ p=0.5*(a[j]+a[j+1]);
if(x
{ i=j;
break;
}
else
i=m-1;
}
for(k=i-1;k
{ for(j=i-1,q=1;j
南 昌 航 空 大 学 实 验 报 告
年 月 日
课题名称: 计算方法
班级: 09 实验名称: 二次插值法 姓名: 同组人: 指导老师评定: 签名: q*=(x-a[j])/(a[k]-a[j]);
}
f+=b[k]*q;
}
printf("f=%f",f);
四、 实验结果
当x=0.15时
f=0.394460
当x=0.31时
f=0.380225
当x=0.47时
f=0.357247