现代优化设计作业
- 格式:doc
- 大小:464.00 KB
- 文档页数:10
基于matlab插值拟合方法的应用
12胜
(三峡大学机械与材料学院工业工程专业)
摘要:插值:基于[a,b]区间上的n个互异点,给定函数f(x),寻找某个函数去逼近f(x)。若要求φ(x)在xi处与f(xi)相等,这类的函数逼近问题称为插值问题,xi即是插值点
拟合:曲线设计过程中用插值或通过逼近方法是生成的曲线光滑(切变量连续)。
插值和拟合所使用到的工具很多其中matlab应用广泛,功能强大可满足一系列的插值和拟合方法的使用。
关键词:插值拟合matlab
插值
引言:MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
Matlab在函数的插值中的应用也越见广泛,下面我们将讨论其在插值方面的实际应用。1题目概述
.已知某处山区地形选点测量坐标数据为:
x=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
y=0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6
海拔高度数据为:
Z = 89 90 87 85 92 91 96 93 90 87 82 92 96 98 99 95 91 89 86 84 82 84
96 98 95 92 90 88 85 84 83 81 85 80 81 82 89 95 96 93 92 89 86 86
82 85 87 98 99 96 97 88 85 82 83 82 85 89 94 95 93 92 91 86 84 88
88 92 93 94 95 89 87 86 83 81 92 92 96 97 98 96 93 95 84 82 81 84
85 85 81 82 80 80 81 85 90 93 95 84 86 81 98 99 98 97 96 95 84 87
80 81 85 82 83 84 87 90 95 86 88 80 82 81 84 85 86 83 82 81 80 82
87 88 89 98 99 97 96 98 94 92 87
(1)画出原始数据图;
(2)画出加密后的地貌图,并在图中标出原始数据
1.1问题分析
此题给定的为二维数据,选用matlab作为工具软件对题目进行绘图,使用插值对原图形进行加密。在插值的工程中必然遇到选用什么插值方法最为合适进行求解。而此题将对四类插值方法进行尝试并分析比较其图形的差别。四类方法分别为:双线性插值发,最临近插值发,三次样条插值,三次插值。
2程序代码及结果输出
2.1画出原图如图一
>> x=0:0.5:5;
>> y=0:0.5:6;
>> z=[ 89 90 87 85 92 91 96 93 90 87 82;
92 96 98 99 95 91 89 86 84 82 84;
96 98 95 92 90 88 85 84 83 81 85;
80 81 82 89 95 96 93 92 89 86 86;
82 85 87 98 99 96 97 88 85 82 83;
82 85 89 94 95 93 92 91 86 84 88;
88 92 93 94 95 89 87 86 83 81 92;
92 96 97 98 96 93 95 84 82 81 84;
85 85 81 82 80 80 81 85 90 93 95;
84 86 81 98 99 98 97 96 95 84 87;
80 81 85 82 83 84 87 90 95 86 88;
80 82 81 84 85 86 83 82 81 80 82;
87 88 89 98 99 97 96 98 94 92 87]
>> mesh(x,y,z);xlabel('x'),ylabel('y'),zlabel('z'),title('山区地形');
图(一)
2.2利用三次插值法插值并画出图形(cubic)如图二
>> x1=0:0.1:5;
>> y1=0:0.1:6;
>> [x2,y2]=meshgrid(x1,y1);
>> z1=interp2(x,y,z,x2,y2,'cubic');
>> mesh(x1,y1,z1);xlabel('x'),ylabel('y'),zlabel('z'),title('山区地形'); 图(二)
2.3三次样条插值发插值并画出图形(spline)如图三
>> x1=0:0.1:5;
>> y1=0:0.1:6;
>> [x2,y2]=meshgrid(x1,y1);
>> z1=interp2(x,y,z,x2,y2,'spline');
>> mesh(x1,y1,z1);xlabel('x'),ylabel('y'),zlabel('z'),title('山区地形'); 图(三)
2.4双线性插值法插值并画出图形(linear)如图(四)
>> x1=0:0.1:5;
>> y1=0:0.1:6;
>> [x2,y2]=meshgrid(x1,y1);
>> z1=interp2(x,y,z,x2,y2,'linear');
>> mesh(x1,y1,z1);xlabel('x'),ylabel('y'),zlabel('z'),title('山区地形'); 图(四)