- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
工程常用算法作业三
《工程常用算法》综合实践作业三
作业名称: 插值:三次样条插值与分段插值 完成日期: 2016年5月 15日 组号:8
班级 学号 姓名 主要工作说明 自评成绩 2013071605 郭俊杰 绘制流程图 A 2013071610 凌泽宇 程序编写 2013071627 张明旺 文字总结 一.已知飞机下轮廓线数据如下:
x 0 3 5 7 9 11 12 13 14 15 y 0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6
飞机下轮廓线形状大致如下图所示:
要求分别用拉格朗日插值法、Newton插值法、分段线性插值法和三次样条插值法计算x每改变0.5时y的值,即x 取 0.5, 1, 1.5, … , 14.5 时对应的y值。比较采用不同方法的计算工作量、计算结果和优缺点。
二、程序流程图
三、完整的程序及简要的注释
拉格朗日
#includestdio.h
#includemath.h
float x[10]={0,3,5,7,9,11,12,13,14,15},
y[10]={0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6},
n[29]; /*定义29个隔值 */
void X() /*定义隔值函数*/
{ int i;
for(i=0;i29;i++) /*隔值循环*/
n[i]=(i+1)*0.5;
}
float l(float xx,int i) /*求Lagrange基函数*/
{ int j;
float l=1;
for(j=0;j10;j++)
if(i!=j) l=l*(xx-x[j])/(x[i]-x[j]);
return l;
}
float Lagrange(float x) /*Lagrange插值法*/
{ int i;
float f=0;
for(i=0;i10;i++)
f=f+y[i]*l(x,i);
return f;
}
/*调用Lagrange插值函数*/
int main()
{ int i;
float Y[29];
X();
printf(Lagrange插值法:\n);
for(i=0;i29;i++)
{ float Y[29];
Y[i]=Lagrange(n[i]);
printf(n[%d]=%.2f Y[%d]=%8.4f\n,i,n[i],i,Y[i]);
}
}
Newton
#includestdio.h
#includemath.h
float x[10]={0,3,5,7,9,11,12,13,14,15},
y[10]={0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6},
n[29]; /*定义29个隔值 */
float f[10][10]={0,1.2,1.7,2.0,2.1,2.0,1.8,1.2,1.0,1.6};
void X() /*定义隔值函数*/
{ int i;
for(i=0;i29;i++) /*隔值循环*/
n[i]=(i+1)*0.5;
}
void CS() /*定义差商函数*/
{ int i,j;
for(i=1;i10;i++)
for(j=i;j10;j++)
f[i][j]=(f[i-1][j]-f[i-1][j-1])/(x[j]-x[j-i]);
}
float Newton(float xx) /*Newton插值法*/
{ int i,j;
float t=1;
float N=f[0][0];
for(i=1;i10;i++)
{ t=t*(xx-x[i-1]);
N=N+f[i][i]*t;
}
return N;
}
/*调用Newton插值函数*/
int main()
{ int i;
float Y[29];
X();
CS();
printf(Newton插值法:\n);
for(i=0;i29;i++)
{ float Y[29];
Y[i]=Newton(n[i]);
printf(n[%d]=%.2f Y[%d
您可能关注的文档
- 工作作风整顿教师代表发言稿.doc
- 工业药剂文献.doc
- 工伤赔偿中的费用承担及计算规则(超详细版).doc
- 工作前安全分析2.doc
- 工作原理和基本结构.doc
- 工伤保险基金先行支付申请书.doc
- 工作报告中层次标题的拟写.doc
- 工作联系函926.doc
- 工作总结(实习).doc
- 工作室相关工作规范.doc
- [中央]2023年中国电子学会招聘应届生笔试历年参考题库附带答案详解.docx
- [吉安]2023年江西吉安市青原区总工会招聘协理员笔试历年参考题库附带答案详解.docx
- [中央]中华预防医学会科普信息部工作人员招聘笔试历年参考题库附带答案详解.docx
- [保定]河北保定市第二医院招聘工作人员49人笔试历年参考题库附带答案详解.docx
- [南通]江苏南通市崇川区人民法院招聘专职人民调解员10人笔试历年参考题库附带答案详解.docx
- [厦门]2023年福建厦门市机关事务管理局非在编工作人员招聘笔试历年参考题库附带答案详解.docx
- [三明]2023年福建三明市尤溪县招聘小学幼儿园新任教师79人笔试历年参考题库附带答案详解.docx
- [哈尔滨]2023年黑龙江哈尔滨市木兰县调配事业单位工作人员笔试历年参考题库附带答案详解.docx
- [上海]2023年上海市气象局所属事业单位招聘笔试历年参考题库附带答案详解.docx
- [台州]2023年浙江台州椒江区招聘中小学教师40人笔试历年参考题库附带答案详解.docx
文档评论(0)