实验二 分段插值.doc

上传人:sk****8 文档编号:3100283 上传时间:2019-05-21 格式: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 分)不及格

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。