如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
得分《模具CAD》课程作业数据的插值与拟合姓名:学号/序号:班级:一、编程题第一题1、题目概述编写出利用抛物线插值进行包角影响系数插值的程序,包角影响系数如下表所示。包角影响系数K2α90100120130140150160170180K20.680.740.790.830.890.920.950.981.002、流程框图3、程序代码#include"stdio.h"main(){floatqip(floatx[],floaty[],intn,floatt);/*声明qip函数*/floatK2,m;staticfloatrf[10]={90.0,100.0,110.0,120.0,130.0,/*确定已知值*/140.0,150.0,160.0,170.0,180.0};floatkrf[10]={0.68,0.73,0.78,0.82,0.86,0.89,0.92,0.95,0.98,1.0};a:printf("请输入一个>=90且<=180的包角:\n");scanf("%f",&m);if(m<90||m>180)/*判断输入值的大小是否满足要求*/{printf("\n输入有误,请重新输入\n");printf("请输入一个>=90且<=180的包角:\n");scanf("%f",&m);gotoa;}else{K2=qip(rf,krf,10,m);/*调用qip函数*/printf("包角系数K2=%f\n",K2);gotoa;}}floatqip(floatx[],floaty[],intn,floatt)/*一维抛物线插值*/{inti;floatu,v,w;for(i=0;i<=n-4;i++)if(t<=x[i+1])gotoa;i=n-3;a:if(i>0&&(t-x[i])<(x[i+1]-t))i=i-1;u=(t-x[i+1])*(t-x[i+2])/(x[i]-x[i+1])/(x[i]-x[i+2]);v=(t-x[i])*(t-x[i+2])/(x[i+1]-x[i])/(x[i+1]-x[i+2]);w=(t-x[i])*(t-x[i+1])/(x[i+2]-x[i])/(x[i+2]-x[i+1]);return(u*y[i]+v*y[i+1]+w*y[i+2]);}4、运行结果(包含特殊数据的输入、输出)5、分析该程序基本能满足题目要求。第二题1、题目概述已知1950年到1990年间每隔10年,服务年限从10年到30年每隔10年的劳动报酬表如下:表某企业工作人员的月平均工资(元)服务年限年份1020301950150.697169.592187.6521960179.323195.072250.2871970203.212239.092322.7671980226.505273.706426.7301990249.633370.281598.243试编写计算任一年中(1950-1990),任一年工龄(10-30)的工作人员平均工资计算程序(可选线性插值或抛物线插值)。2、流程框图3、程序代码(选择线性插值)#include<stdio.h>main(){floattlip(floatx[],floaty[],floatz[][3],intm,intn,floattx,floatty);/*对tlip函数的声明*/floatnf,gl,pjz;staticfloataa[5]={1950,1960,1970,1980,1990};/*输入静态数组的数值*/floatbb[3]={10,20,30};floatcc[5][3]={{150.697,169.592,187.652},{179.323,195.072,250.287},{203.212,239.092,322.767},{226.505,273.706,426.730},{249.633,370.281,598.243}};a1:printf("请输入一个年份:\n");/*输入年份*/scanf("%f",&nf);if(nf<1950.0||nf>1990.0){printf("输入有误,重新输入\n");gotoa1;}b1:printf("请输入一个工龄:\n");/*输入工龄*/scanf("%f",&gl);if(gl<10.0||gl>30.0){printf("输入有误,重新输入\n");gotob1;}pjz=t