分段线性插值
《数值分析》课程设计
题 目 分段线性插值
学 生 牛彦坡 陈彬 冯梦雨
指导教师 郭阁阳
天津工程师范学院
课 程 设 计 任 务 书
理学 院 数学0702 班 学生 牛彦坡 陈彬 冯梦雨 课程设计课题:
考察分段线性插值
一、课程设计工作日自 2009 年 6 月 22 日至 2009 年 6 月 28 日 二、同组学生: 牛彦坡 陈彬 冯梦雨 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、参考资
料等):
, 来源与意义:
本课题来源于教材第二章插值法,目的是从几何意义掌握分段线性插值的思想,加深对其的理解以及掌握用计算机与Matlab解决相关问题的能力。
, 基本要求:
要求自编程序;掌握编程思想,学会一门编程语言;
要有较强的理论分析;有较强说服力的数据表或图像;对结果进行分析;给出相应结论;鼓励创新;
, 参考
:
1. 数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。
2. 数值方法,关治,陆金甫,2006,清华大学出版社。
3. 数值分析与实验学习指导,蔡大用,2001,清华大学出版社。
4. 数值分析与实验,薛毅,2005,北京工业大学出版社。
指导教师签字: 教研室主任签字:
- 1 -
天津工程师范学院
课 程 设 计 评 审 表
理学 院 数学0702 班 学生 牛彦坡 陈彬 冯梦雨
设计任务完成情况及指导教师评语
答辩情况
评定成绩
成绩: 指导教师签字: 日期:
教研室主任: 主任签字:
日期: 日期:
- 2 -
一、 问题提出:
考察分段线性插值:
1对在(-5,5)上进行分段线性插值,取不同节点个数,得到不同nfx(),21,x
分段线性插值函数。(要求:自编程序,报告有数据表、图像、分析、结论。)
虽然matlab里有直接分段线形插值的函数,但为了对分段插值算法有更明确的理解,编写该程序是有必要的
需要解决的问题:
由所编函数得到非节点的函1、由已知数据节点编写分段线形插值函数,从而能
数值。
2、比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值
效果的关系
二、理论基础
所谓分段线性插值就是通过插值点用折线段连接起来逼近f(x)。设已知节点a=x
模板为d1.m
得下图:
红星由fd32得奇数节点误差平方和,绿星加圈由fd3得偶数节点误差平方
和,圈由f33得随机节点误差平方和,数据见附录
140
120
100
80
60
e误差平方和
40
20
00510152025
n节点数
- 7 -
四、结果分析
1、不同插值节点数所得的分段线形插值函数,在节点处与原函数的函数值一定相同
2、所得的分段线形插值函数在原函数斜率绝对值变化大的地方,与原函数的误差比较大
3、由误差平方和e,插值节点个数越多,e有减小的趋势,最后趋于0。单考虑奇数或偶数个节点,则随节点数增加e严格减小。
4、随机生成的节点不如等距节点使插值效果好。
五、结论
插值节点个数越多,分段线形插值函数与原函数误差平方和有减小趋势,插值效果越好。
六、参考文献
《数值分析与实验》 薛 毅 编著 北京工业大学出版社
附录
代码如下:
% fd1.m线性插值原函数
function y=fd1(x)
y=1./(1+x.^2);
% fd2.m 分段线性插值函数
function yi=fd2(x,y,xi)
n=length(x);
m=length(y);
if n~=m
error('X和Y向量的长度必须相同');
return;
end
- 8 -
for k=1:n-1
if abs(x(k)-x(k+1))