收藏 分享(赏)

实验二 分段插值.doc

上传人:buyk185 文档编号:6187575 上传时间:2019-04-01 格式:DOC 页数:4 大小:23.50KB
下载 相关 举报
实验二 分段插值.doc_第1页
第1页 / 共4页
实验二 分段插值.doc_第2页
第2页 / 共4页
实验二 分段插值.doc_第3页
第3页 / 共4页
实验二 分段插值.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、一、实验目的及要求实验目的:1. 体会分段低次插值在不增加结点的情况下,提高插值精度的思想和这种用低代价换取高回报的手段。2. 熟练掌握分段一次、分段二次插值多项式公式;3. 掌握分段插值多项式算法设计的特点。实验要求:1. 给出分段一次、二次插值算法,用流程图来描述算法;2. 用 C 语言或 matlab 实现算法3. 给出误差分析。二、实验内容用下列插值节点数据,构造分段线性插值多项式,并计算 f(1.075),f(1.175)的值。x 1.05 1.10 1.15 1.20F(x) 2.12 2.20 2.17 2.32三、实验步骤(该部分不够填写.请填写附页)1.算法分析:下面用伪码描

2、述分段插值多项式的算法:Step1 输入插值节点数 n,插值点序列x(i),f(i),i=1,2,n,要计算的插值点 x.Step2 将输入的插值点 x 与每一个点对应的 x 作比较,比较出比它大的时完成。for i=0 to nif(x#define MAX_N 20 /*定义的点的最大个数为 20*/typedef struct tagPOINT /*结构化定义点,包括 x 和 y*/double x;double y;POINT;int main(void)int n,i,j;POINT pointsMAX_N+1;double x,a,b,P,f1,f2;clrscr();printf

3、(“Please input n value:n“);scanf(“%d“,if(nMAX_N)printf(“The input n is larger than MAX_N,please redefine the MAX_N.n“);return 1;if(npointsn-1.x) /*如果 x 比第一个点的 x 小或 x 比 最后一个点的 x 大时*/printf(“Input x value error!“);exit(0);for(i=0;in;i+) /*记录下插值区间的左端点和右端点*/if(xpointsi.x)b=pointsi.x;f2=pointsi.y;a=pointsi-1.x;f1=pointsi-1.y;break;P=(x-b)/(a-b)*f1+(x-a)/(b-a)*f2; /*插值函数*/printf(“nShow the result:%f“,P);实 验 报 告 附 页四、实验结果分析与评价 (该部分不够填写.请填写附页)注: 实验成绩等级分为(90-100 分)优,(80-89 分)良,(70-79 分) 中,(60-69 分) 及格,(59 分)不及格

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 中学实验

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报