数值分析课程设计66326.docx
- 文档编号:30326704
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:15
- 大小:40.18KB
数值分析课程设计66326.docx
《数值分析课程设计66326.docx》由会员分享,可在线阅读,更多相关《数值分析课程设计66326.docx(15页珍藏版)》请在冰豆网上搜索。
数值分析课程设计66326
《数值分析》课程设计
题目分段线性插值
学生牛彦坡陈彬冯梦雨
指导教师郭阁阳
天津工程师范学院
课程设计任务书
理学院数学0702班学生牛彦坡陈彬冯梦雨
课程设计课题:
考察分段线性插值
一、课程设计工作日自2009年6月22日至2009年6月28日
二、同组学生:
牛彦坡陈彬冯梦雨
三、课程设计任务要求(包括课题来源、类型、目的和意义、基本要求、参考资料等):
✧来源与意义:
本课题来源于教材第二章插值法,目的是从几何意义掌握分段线性插值的思想,加深对其的理解以及掌握用计算机与Matlab解决相关问题的能力。
✧基本要求:
要求自编程序;掌握编程思想,学会一门编程语言;报告要有较强的理论分析;有较强说服力的数据表或图像;对结果进行分析;给出相应结论;鼓励创新;
✧参考资料:
1.数值分析,李庆扬,王能超,易大义,2001,清华大学出版社(第四版)。
2.数值方法,关治,陆金甫,2006,清华大学出版社。
3.数值分析与实验学习指导,蔡大用,2001,清华大学出版社。
4.数值分析与实验,薛毅,2005,北京工业大学出版社。
指导教师签字:
教研室主任签字:
天津工程师范学院
课程设计评审表
理学院数学0702班学生牛彦坡陈彬冯梦雨
设计任务完成情况及指导教师评语
答辩情况
评定成绩
成绩:
指导教师签字:
日期:
教研室主任:
主任签字:
日期:
日期:
一、问题提出:
考察分段线性插值:
对
在(-5,5)上进行分段线性插值,取不同节点个数
,得到不同分段线性插值函数。
(要求:
自编程序,报告有数据表、图像、分析、结论。
)
虽然matlab里有直接分段线形插值的函数,但为了对分段插值算法有更明确的理解,编写该程序是有必要的
需要解决的问题:
1、由已知数据节点编写分段线形插值函数,从而能由所编函数得到非节点的函数值。
2、比较用不同节点数所得插值函数与真实函数的误差,从而得出节点数与插值效果的关系
二、理论基础
所谓分段线性插值就是通过插值点用折线段连接起来逼近f(x)。
设已知节点a=x0 1o 2o 3o 在每个小区间[xk,xk+1]上是线性函数。 则称 为分段线性插值函数。 模型一: 由定义可知 在每个小区间[xk,xk+1]上可表示为 = 模型二: 首先确定间隔序列k,使得: 第二个量是局部变量s,其定义为: 最后一个量是一阶均差 则插值基函数可表示为 . 三、实验内容 1、模型一: 用MATLAB分别建立m文件: (1)原函数fd1.m (2)分段线性插值函数fd2.m (3)比较不同节点数所得分段线性插值函数的插值效果fd3.m 2、选取插值节点数为偶数 在MATLAB窗口中执行: fd3n=2的数据见附录,图像如下: n=8的图如下: n=20的图 3、模型二: 用MATLAB分别建立m文件: (1)分段插值函数fd22 (2)插值效果比较函数fd32(选取插值节点数为奇数) 程序代码(参见附录) 在MATLAB窗口中执行: fd32 得下图: 上图为不同节点数插值函数图像与原函数图像,下图为误差图像 3、由上所有的图可看出,由于原函数是偶函数,等距节点所得插值函数有很强对称性,下任取节点, 编写程序fd33.m,得图 上图为不同节点数插值函数图像与原函数图像,下图为误差图像 4、比较不同节点所得插值函数与被插函数误差的平方和,程序模板为d1.m 得下图: 红星由fd32得奇数节点误差平方和,绿星加圈由fd3得偶数节点误差平方和,圈由f33得随机节点误差平方和,数据见附录 四、结果分析 1、不同插值节点数所得的分段线形插值函数,在节点处与原函数的函数值一定相同 2、所得的分段线形插值函数在原函数斜率绝对值变化大的地方,与原函数的误差比较大 3、由误差平方和e,插值节点个数越多,e有减小的趋势,最后趋于0。 单考虑奇数或偶数个节点,则随节点数增加e严格减小。 4、随机生成的节点不如等距节点使插值效果好。 五、结论 插值节点个数越多,分段线形插值函数与原函数误差平方和有减小趋势,插值效果越好。 六、参考文献 《数值分析与实验》薛毅编著北京工业大学出版社 附录 代码如下: %fd1.m线性插值原函数 functiony=fd1(x) y=1./(1+x.^2); %fd2.m分段线性插值函数 functionyi=fd2(x,y,xi) n=length(x); m=length(y); ifn~=m error('X和Y向量的长度必须相同'); return; end fork=1: n-1 ifabs(x(k)-x(k+1)) error('数据有误'); return; end ifx(k)<=xi&xi<=x(k+1)%保证x(k) temp=x(k)-x(k+1); yi=(xi-x(k+1))/temp*y(k)+(xi-x(k))/(-temp)*y(k+1) return; end end %fd3.m比较插值效果 a=-5; b=5; n=input('请输入分端节点数: '); ifn<=0 error('你输入的数据有误! ! ! '); break; end h=(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); fork1=1: m1 z(k1)=fd2(x,y,xx(k1)); end w=z-yyi;%计算误差 subplot(2,1,1);plot(x,y,'o',xx,yyi,'-',x,y,'k: ');%插值图像 xlabel('x'); ylabel('y'); title('原函数(实线)-插值函数(虚线)'); holdon subplot(2,1,2);plot(xx,w,'k: ');%误差的图像 xlabel('x'); ylabel('R(x)'); title('误差分析'); holdon xx=xx'; yyi=yyi'; z=z'; w=w'; %fd22.m分段线性插值函数 functionv=fd22(x,y,u) delta=diff(y)./diff(x); n=length(x); k=ones(size(u)); forj=2: n-1 k(x(j)<=u)=j; end s=u-x(k); v=y(k)+s.*delta(k); ✧%fd32.m同时画不同节点的插值函数图像和误差图像 clear close t=[-5: 0.01: 5]; a=['k''g''r''c''m']; fori=1: 5 n=2*i+1; x=linspace(-5,5,n);%把区间[-55]分为(n-1)份,算插值节点 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));holdon;%画出插值函数图像及误差图像 subplot(2,1,2);plot(t,e,a(i));holdon; end subplot(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,[-55],'k');%画出原函数图像 holdoff %fd33.m插值节点非等分区间获得 close t=[-5: 0.01: 5]; a=['k''g''r''c''m']; fori=1: 5 n=2*i+1; x=[-5rand(1,n-2)*10-55];%得(-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));holdon; subplot(2,1,2);plot(t,e,a(i));holdon; end subplot(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,[-55],'k'); holdoff %fd1.m比较不同节点数误差平方和 clear t=[-5: 0.01: 5];a=[];b=[]; fori=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=[ae]; b=[bn]; end plot(b,a,'go') xlabel('n节点数') ylabel('e误差平方和') holdon n=2的数据: X Y YI(原函数) W -5.0000 0.0385 0.0385 0 -4.9000 0.0400 0.0577 -0.0177 -4.8000 0.0416 0.0769 -0.0353 -4.7000 0.0433 0.0962 -0.0528 -4.6000 0.0451 0.1154 -0.0703 -4.5000 0.0471 0.1346 -0.0876 -4.4000 0.0491 0.1538 -0.1047 -4.3000 0.0513 0.1731 -0.1218 -4.2000 0.0536 0.1923 -0.1387 -4.1000 0.0561 0.2115 -0.1554 -4.0000 0.0588 0.2308 -0.1719 -3.9000 0.0617 0.2500 -0.1883 -3.8000 0.0648 0.2692 -0.2045 -3.7000 0.0681 0.2885 -0.2204 -3.6000 0.0716 0.3077 -0.2361 -3.5000 0.0755 0.3269 -0.2515 -3.4000 0.0796 0.3462 -0.2665 -3.3000 0.0841 0.3654 -0.2813 -3.2000 0.0890 0.3846 -0.2956 -3.1000 0.0943 0.4038 -0.3096 -3.0000 0.1000 0.4231 -0.3231 -2.9000 0.1063 0.4423 -0.336 -2.8000 0.1131 0.4615 -0.3484 -2.7000 0.1206 0.4808 -0.3601 -2.6000 0.1289 0.5000 -0.3711 -2.5000 0.1379 0.5192 -0.3813 -2.4000 0.1479 0.5385 -0.3905 -2.3000 0.1590 0.5577 -0.3987 -2.2000 0.1712 0.5769 -0.4057 -2.1000 0.1848 0.5962 -0.4113 -2.0000 0.2000 0.6154 -0.4154 -1.9000 0.2169 0.6346 -0.4177 -1.8000 0.2358 0.6538 -0.418 -1.7000 0.2571 0.6731 -0.416 -1.6000 0.2809 0.6923 -0.4114 -1.5000 0.3077 0.7115 -0.4038 -1.4000 0.3378 0.7308 -0.3929 -1.3000 0.3717 0.7500 -0.3783 -1.2000 0.4098 0.7692 -0.3594 -1.1000 0.4525 0.7885 -0.336 -1.0000 0.5000 0.8077 -0.3077 -0.9000 0.5525 0.8269 -0.2744 -0.8000 0.6098 0.8462 -0.2364 -0.7000 0.6711 0.8654 -0.1942 -0.6000 0.7353 0.8846 -0.1493 -0.5000 0.8000 0.9038 -0.1038 -0.4000 0.8621 0.9231 -0.061 -0.3000 0.9174 0.9423 -0.0249 -0.2000 0.9615 0.9615 0 -0.1000 0.9901 0.9808 0.0093 0 1.0000 1.0000 0 0.1000 0.9901 0.9808 0.0093 0.2000 0.9615 0.9615 0 0.3000 0.9174 0.9423 -0.0249 0.4000 0.8621 0.9231 -0.061 0.5000 0.8000 0.9038 -0.1038 0.6000 0.7353 0.8846 -0.1493 0.7000 0.6711 0.8654 -0.1942 0.8000 0.6098 0.8462 -0.2364 0.9000 0.5525 0.8269 -0.2744 1.0000 0.5000 0.8077 -0.3077 1.1000 0.4525 0.7885 -0.336 1.2000 0.4098 0.7692 -0.3594 1.3000 0.3717 0.7500 -0.3783 1.4000 0.3378 0.7308 -0.3929 1.5000 0.3077 0.7115 -0.4038 1.6000 0.2809 0.6923 -0.4114 1.7000 0.2571 0.6731 -0.416 1.8000 0.2358 0.6538 -0.418 1.9000 0.2169 0.6346 -0.4177 2.0000 0.2000 0.6154 -0.4154 2.1000 0.1848 0.5962 -0.4113 2.2000 0.1712 0.5769 -0.4057 2.3000 0.1590 0.5577 -0.3987 2.4000 0.1479 0.5385 -0.3905 2.5000 0.1379 0.5192 -0.3813 2.6000 0.1289 0.5000 -0.3711 2.7000 0.1206 0.4808 -0.3601 2.8000 0.1131 0.4615 -0.3484 2.9000 0.1063 0.4423 -0.336 3.0000 0.1000 0.4231 -0.3231 3.1000 0.0943 0.4038 -0.3096 3.2000 0.0890 0.3846 -0.2956 3.3000 0.0841 0.3654 -0.2813 3.4000 0.0796 0.3462 -0.2665 3.5000 0.0755 0.3269 -0.2515 3.6000 0.0716 0.3077 -0.2361 3.7000 0.0681 0.2885 -0.2204 3.8000 0.0648 0.2692 -0.2045 3.9000 0.0617 0.2500 -0.1883 4.0000 0.0588 0.2308 -0.1719 4.1000 0.0561 0.2115 -0.1554 4.2000 0.0536 0.1923 -0.1387 4.3000 0.0513 0.1731 -0.1218 4.4000 0.0491 0.1538 -0.1047 4.5000 0.0471 0.1346 -0.0876 4.6000 0.0451 0.1154 -0.0703 4.7000 0.0433 0.0962 -0.0528 4.8000 0.0416 0.0769 -0.0353 4.9000 0.0400 0.0577 -0.0177 5.0000 0.0385 0.0385 0 n 2 3 4 5 6 7 误差平方和 136.9209 79.1689 63.334 6.9775 23.7384 0.8329 n 8 9 10 11 12 13 14 误差平方和 9.0015 0.5726 3.6152 0.572 1.5676 0.4648 0.7472 n 15 16 17 18 19 20 21 误差平方和 0.3366 0.3945 0.2327 0.2291 0.1593 0.1438 0.1101
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数值 分析 课程设计 66326
![提示](https://static.bdocx.com/images/bang_tan.gif)