1、数值分析课程设计66326 数值分析课程设计题 目 分段线性插值 学 生 牛彦坡 陈彬 冯梦雨 指导教师 郭阁阳 天津工程师范学院课 程 设 计 任 务 书 理学 院 数学0702 班 学生 牛彦坡 陈彬 冯梦雨 课程设计课题:考察分段线性插值一、课程设计工作日自 2009 年 6 月 22 日至 2009 年 6 月 28 日二、同组学生: 牛彦坡 陈彬 冯梦雨 三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、参考资料等): 来源与意义:本课题来源于教材第二章插值法,目的是从几何意义掌握分段线性插值的思想,加深对其的理解以及掌握用计算机与Matlab解决相关问题的能力。 基本
2、要求:要求自编程序;掌握编程思想,学会一门编程语言;报告要有较强的理论分析;有较强说服力的数据表或图像;对结果进行分析;给出相应结论;鼓励创新; 参考资料:1. 数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。2. 数值方法,关治,陆金甫,2006,清华大学出版社。3. 数值分析与实验学习指导,蔡大用,2001,清华大学出版社。4. 数值分析与实验,薛毅,2005,北京工业大学出版社。指导教师签字: 教研室主任签字:天津工程师范学院课 程 设 计 评 审 表 理学 院 数学0702 班 学生 牛彦坡 陈彬 冯梦雨 设计任务完成情况及指导教师评语答辩情况评定成绩成绩: 指导
3、教师签字: 日期: 教研室主任: 主任签字: 日期: 日期: 一、 问题提出:考察分段线性插值:对在(-5,5)上进行分段线性插值,取不同节点个数,得到不同分段线性插值函数。(要求:自编程序,报告有数据表、图像、分析、结论。)虽然matlab里有直接分段线形插值的函数,但为了对分段插值算法有更明确的理解,编写该程序是有必要的需要解决的问题:1、 由已知数据节点编写分段线形插值函数,从而能由所编函数得到非节点的函数值。2、 比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值效果的关系二、理论基础所谓分段线性插值就是通过插值点用折线段连接起来逼近f(x)。设已知节点a=x0x1xn
4、=b上的函数值f0,f1,fn ,求一折线函数满足:1o 2o ,3o 在每个小区间xk,xk+1上是线性函数。则称为分段线性插值函数。模型一:由定义可知在每个小区间xk,xk+1上可表示为= 模型二:首先确定间隔序列k,使得:第二个量是局部变量s,其定义为 :最后一个量是一阶均差则插值基函数可表示为.三、实验内容1、模型一: 用MATLAB分别建立m文件:(1)原函数fd1.m(2)分段线性插值函数fd2.m(3)比较不同节点数所得分段线性插值函数的插值效果fd3.m2、选取插值节点数为偶数在MATLAB窗口中执行:fd3 n=2的数据见附录,图像如下:n=8的图如下:n=20的图 3、模型
5、二:用MATLAB分别建立m文件:(1)分段插值函数fd22(2)插值效果比较函数fd32(选取插值节点数为奇数)程序代码(参见附录)在MATLAB窗口中执行:fd32得下图:上图为不同节点数插值函数图像与原函数图像,下图为误差图像3、 由上所有的图可看出,由于原函数是偶函数,等距节点所得插值函数有很强对称性,下任取节点,编写程序fd33.m,得图上图为不同节点数插值函数图像与原函数图像,下图为误差图像 4、 比较不同节点所得插值函数与被插函数误差的平方和,程序模板为d1.m得下图:红星由fd32得奇数节点误差平方和,绿星加圈由fd3得偶数节点误差平方和,圈由f33得随机节点误差平方和,数据见
6、附录四、结果分析1、不同插值节点数所得的分段线形插值函数,在节点处与原函数的函数值一定相同2、所得的分段线形插值函数在原函数斜率绝对值变化大的地方,与原函数的误差比较大3、由误差平方和e,插值节点个数越多,e有减小的趋势,最后趋于0。单考虑奇数或偶数个节点,则随节点数增加e严格减小。4、随机生成的节点不如等距节点使插值效果好。五、结论插值节点个数越多,分段线形插值函数与原函数误差平方和有减小趋势,插值效果越好。六、参考文献数值分析与实验 薛 毅 编著 北京工业大学出版社附录代码如下:% fd1.m线性插值原函数function y=fd1(x)y=1./(1+x.2);% fd2.m 分段线性
7、插值函数function yi=fd2(x,y,xi)n=length(x);m=length(y);if n=merror(X和Y向量的长度必须相同);return;endfor k=1:n-1if abs(x(k)-x(k+1)eps % x(k)-x(k+1) 的绝对值 必须大于eerror(数据有误);return;endif x(k)=xi&xi=x(k+1) % 保证 x(k) xi x(k+1)temp=x(k)-x(k+1);yi=(xi-x(k+1)/temp*y(k)+(xi-x(k)/(-temp)*y(k+1)return;endend% fd3.m 比较插值效果a=-
8、5;b=5;n=input(请输入分端节点数:);if n=0error(你输入的数据有误!);break;endh=(b-a)/(n-1); % 求节点x=a:h:b;y=fd1(x);xx=a:0.1:b; % 用分段线性插值函数求非节点函数值yyi=fd1(xx);m1=length(xx);z=zeros(1,m1);for k1=1:m1z(k1)=fd2(x,y,xx(k1);endw=z-yyi; % 计算误差subplot(2,1,1);plot(x,y,o,xx,yyi,-,x,y,k:);%插值图像xlabel(x);ylabel(y);title(原函数(实线)-插值函数
9、(虚线));hold onsubplot(2,1,2);plot(xx,w,k:); % 误差的图像xlabel(x);ylabel(R(x));title(误差分析);hold onxx=xx;yyi=yyi;z=z;w=w;% fd22.m 分段线性插值函数function v=fd22(x,y,u)delta=diff(y)./diff(x);n=length(x);k=ones(size(u);for j=2:n-1k(x(j)=u)=j;ends=u-x(k);v=y(k)+s.*delta(k); % fd32.m 同时画不同节点的插值函数图像和误差图像clearcloset=-5
10、:0.01:5;a=k g r c m;for i=1:5n=2*i+1;x=linspace(-5,5,n); %把区间-5 5分为(n1)份,算插值节点y=fd1(x); p=fd22(x,y,t);p=p; %计算以(x,y)为插值点的插值函数在t处的各个值y1=fd1(t);y1=y1; e=p-y1; %计算误差subplot(2,1,1);plot(x,y,a(i);hold on; %画出插值函数图像及误差图像subplot(2,1,2);plot(t,e,a(i);hold on;end subplot(2,1,1);legend(n=3,n=5,n=7,n=9,n=11)su
11、bplot(2,1,2);legend(n=3,n=5,n=7,n=9,n=11)subplot(2,1,1);fplot(fd1,-5 5,k); %画出原函数图像hold off%fd33.m 插值节点非等分区间获得closet=-5:0.01:5;a=k g r c m;for i=1:5n=2*i+1;x=-5 rand(1,n-2)*10-5 5; %得(-5,5)上的n维随机向量x=sort(x);y=fd1(x);p=fd22(x,y,t);p=p;y1=fd1(t);y1=y1;e=p-y1;subplot(2,1,1);plot(x,y,a(i);hold on;subplo
12、t(2,1,2);plot(t,e,a(i);hold on;endsubplot(2,1,1);legend(n=3,n=5,n=7,n=9,n=11)subplot(2,1,2);legend(n=3,n=5,n=7,n=9,n=11)subplot(2,1,1);fplot(fd1,-5 5,k);hold off%fd1.m 比较不同节点数误差平方和cleart=-5:0.01:5;a=;b=;for i=1:10 n=2*i; %n=2*i+1则是奇数节点x=linspace(-5,5,n)y=fd1(x);p=fd22(x,y,t);y1=fd1(t);e=p-y1;e=e*e;a
13、=a e;b=b n;endplot(b,a,go)xlabel(n节点数)ylabel(e误差平方和)hold onn=2的数据:XYYI(原函数)W-5.00000.03850.03850-4.90000.04000.0577-0.0177-4.80000.04160.0769-0.0353-4.70000.04330.0962-0.0528-4.60000.04510.1154-0.0703-4.50000.04710.1346-0.0876-4.40000.04910.1538-0.1047-4.30000.05130.1731-0.1218-4.20000.05360.1923-0.
14、1387-4.10000.05610.2115-0.1554-4.00000.05880.2308-0.1719-3.90000.06170.2500-0.1883-3.80000.06480.2692-0.2045-3.70000.06810.2885-0.2204-3.60000.07160.3077-0.2361-3.50000.07550.3269-0.2515-3.40000.07960.3462-0.2665-3.30000.08410.3654-0.2813-3.20000.08900.3846-0.2956-3.10000.09430.4038-0.3096-3.00000.1
15、0000.4231-0.3231-2.90000.10630.4423-0.336-2.80000.11310.4615-0.3484-2.70000.12060.4808-0.3601-2.60000.12890.5000-0.3711-2.50000.13790.5192-0.3813-2.40000.14790.5385-0.3905-2.30000.15900.5577-0.3987-2.20000.17120.5769-0.4057-2.10000.18480.5962-0.4113-2.00000.20000.6154-0.4154-1.90000.21690.6346-0.417
16、7-1.80000.23580.6538-0.418-1.70000.25710.6731-0.416-1.60000.28090.6923-0.4114-1.50000.30770.7115-0.4038-1.40000.33780.7308-0.3929-1.30000.37170.7500-0.3783-1.20000.40980.7692-0.3594-1.10000.45250.7885-0.336-1.00000.50000.8077-0.3077-0.90000.55250.8269-0.2744-0.80000.60980.8462-0.2364-0.70000.67110.8
17、654-0.1942-0.60000.73530.8846-0.1493-0.50000.80000.9038-0.1038-0.40000.86210.9231-0.061-0.30000.91740.9423-0.0249-0.20000.96150.96150-0.10000.99010.98080.009301.00001.000000.10000.99010.98080.00930.20000.96150.961500.30000.91740.9423-0.02490.40000.86210.9231-0.0610.50000.80000.9038-0.10380.60000.735
18、30.8846-0.14930.70000.67110.8654-0.19420.80000.60980.8462-0.23640.90000.55250.8269-0.27441.00000.50000.8077-0.30771.10000.45250.7885-0.3361.20000.40980.7692-0.35941.30000.37170.7500-0.37831.40000.33780.7308-0.39291.50000.30770.7115-0.40381.60000.28090.6923-0.41141.70000.25710.6731-0.4161.80000.23580
19、.6538-0.4181.90000.21690.6346-0.41772.00000.20000.6154-0.41542.10000.18480.5962-0.41132.20000.17120.5769-0.40572.30000.15900.5577-0.39872.40000.14790.5385-0.39052.50000.13790.5192-0.38132.60000.12890.5000-0.37112.70000.12060.4808-0.36012.80000.11310.4615-0.34842.90000.10630.4423-0.3363.00000.10000.4
20、231-0.32313.10000.09430.4038-0.30963.20000.08900.3846-0.29563.30000.08410.3654-0.28133.40000.07960.3462-0.26653.50000.07550.3269-0.25153.60000.07160.3077-0.23613.70000.06810.2885-0.22043.80000.06480.2692-0.20453.90000.06170.2500-0.18834.00000.05880.2308-0.17194.10000.05610.2115-0.15544.20000.05360.1
21、923-0.13874.30000.05130.1731-0.12184.40000.04910.1538-0.10474.50000.04710.1346-0.08764.60000.04510.1154-0.07034.70000.04330.0962-0.05284.80000.04160.0769-0.03534.90000.04000.0577-0.01775.00000.03850.03850n234567误差平方和136.920979.168963.3346.977523.73840.8329n891011121314误差平方和9.00150.57263.61520.5721.56760.46480.7472n15161718192021误差平方和0.33660.39450.23270.22910.15930.14380.1101
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1