数学建模实验报告2样条插值Word文档下载推荐.docx
- 文档编号:18186733
- 上传时间:2022-12-14
- 格式:DOCX
- 页数:9
- 大小:226.42KB
数学建模实验报告2样条插值Word文档下载推荐.docx
《数学建模实验报告2样条插值Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《数学建模实验报告2样条插值Word文档下载推荐.docx(9页珍藏版)》请在冰豆网上搜索。
1、题目中已限定使用样条插值法。
初步观察样本数据,发现X、Y之间关系较复杂,没有呈现近似线性的关系。
(这与其表示的实际含义有关,X、Y是公路的坐标。
)因此,最简单的最邻近插值法显然不适用于本实验。
因此首先考虑线性插值法,若效果不够理想再考虑使用三次样条插值或立方插值。
2、由于原始数据不是单调函数,matlab中的命令无法直接进行样条插值,因此要编写算法将x0变量转化为单调的,但注意此时Y0要对应改变位置。
代码如下:
其中,X0,Y0为原始为未排序数据,X1,y1为按X升序排序后的数据。
3、我个人认为,本实验最大的难点在于,一般的插值问题(如机床加工问题),一个X对应一个Y,只需做一次样条插值即可得出结果。
而公路有可能如下草图所示:
即一个x对应多个y.
对于本题,观察样本分布(如下图),
若直接进行插值,将得到如下图所示的错误结果:
这显然不合实际要求,我采取的解决方法是将样本数据以Y是否大于300分为两组,分别进行插值,再将其连接。
用于分组的代码如下:
分得两组数据点如下图所示:
4、第
(2)小题的要求,即求出插值曲线的长度。
根据高等数学的知识,可按下式求出曲线长度:
实际上,严格说来,插值结果并不是曲线,而是一系列排列紧密的点。
即插值结果是离散的,因此,上式中的dx即定义的x的步长,dy为相邻两个插值结果的差,即:
y(i+1)-y(i),积分转化为叠加求和。
三、实验过程
1、输入原始数据X0,Y0
2、将X0,Y0按X0升序排列,存为X1,Y1
3、将X1,Y1以Y1是否大于300分为两组,分别存为X00,Y00;
X01,Y01
4、尝试用各种方法对X00,Y00进行插值,寻找最佳方案。
(1)最邻近插值
制图结果:
正如分析中所提到的,这种方法显然不适用。
(2)线性插值
比最邻近插值的效果要好得多,然而不能确定是否最优,继续探索别的方案。
(3)三次样条插值
前半部分的插值效果不错,但是后面一段出现了较大偏差。
(4)立方插值
与线性插值效果基本相同,原则上来说采取二者之一均可,本实验采用立方插值。
5、对X01,Y01进行立方插值。
6、将两组插值结果在一张图中绘出
最终结果为:
7、求公路长度
注:
被插值点间步长为2
求得公路总长度:
L=973(m)
三、实验心得体会
1、我对编程一直很感兴趣,matlab语言简单易懂,容易掌握。
本次实验用到的函数、命令不多,编写方面难度不大。
2、本实验的难点在于对题意的理解分析。
我一开始没有注意到样本值在一些点附近有大的跳变,有些甚至是同一个x对应两个不同的y,急于将数据排序后进行插值,发现问题后才想到应将数据分为两组。
3、实验时边观察边调试、分析能提高实验效率。
现在回想一下,如果我一开始就用plot命令先把所有原始数据点表示出来,就能通过观察了解公路的大致形状,也容易发现应将数据分组,将大大提高编写效率。
4、数学基础对于理解实验原理有很大的帮助。
四、参考文献
1、陈恩水,王峰.数学建模与实验北京;
科学出版社,2008.85~91
(另外感谢CSDN、网易博客等网站上各位不知名的热心解答问题的网友。
)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 实验 报告 样条插值