数学建模插值及拟合详解教学内容.docx
- 文档编号:10818222
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:10
- 大小:85.04KB
数学建模插值及拟合详解教学内容.docx
《数学建模插值及拟合详解教学内容.docx》由会员分享,可在线阅读,更多相关《数学建模插值及拟合详解教学内容.docx(10页珍藏版)》请在冰豆网上搜索。
数学建模插值及拟合详解教学内容
数学建模插值及拟合详解
插值和拟合
实验目的:
了解数值分析建模的方法,掌握用Matlab进行曲线拟合的方法,理解用插值法建模的思想,运用Matlab一些命令及编程实现插值建模。
实验要求:
理解曲线拟合和插值方法的思想,熟悉Matlab相关的命令,完成相应的练习,并将操作过程、程序及结果记录下来。
实验内容:
一、插值
1.插值的基本思想
·已知有n+1个节点(xj,yj),j=0,1,…,n,其中xj互不相同,节点(xj,yj)可看成由某个函数y=f(x)产生;
·构造一个相对简单的函数y=P(x);
·使P通过全部节点,即P(xk)=yk,k=0,1,…,n;
·用P(x)作为函数f(x)的近似。
2.用MATLAB作一维插值计算
yi=interp1(x,y,xi,'method')
注:
yi—xi处的插值结果;x,y—插值节点;xi—被插值点;method—插值方法(‘nearest’:
最邻近插值;‘linear’:
线性插值;‘spline’:
三次样条插值;‘cubic’:
立方插值;缺省时:
线性插值)。
注意:
所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。
练习1:
机床加工问题
机翼断面下的轮廓线上的数据如下表:
x
0
3
5
7
9
11
12
13
14
15
y
0
1.2
1.7
2.0
2.1
2.0
1.8
1.2
1.0
1.6
用程控铣床加工机翼断面的下轮廓线时
每一刀只能沿x方向和y方向走非常小的一步。
表3-1给出了下轮廓线上的部分数据
但工艺要求铣床沿x方向每次只能移动0.1单位.
这时需求出当x坐标每改变0.1单位时的y坐标。
试完成加工所需的数据,画出曲线.
步骤1:
用x0,y0两向量表示插值节点;
步骤2:
被插值点x=0:
0.1:
15;y=y=interp1(x0,y0,x,'spline');
步骤3:
plot(x0,y0,'k+',x,y,'r')
gridon
答:
x0=[035791112131415];
y0=[01.21.72.02.12.01.81.21.01.6];
x=0:
0.1:
15;
y=interp1(x0,y0,x,'spline');
plot(x0,y0,'k+',x,y,'r')
gridon
3.用MATLAB作网格节点数据的插值(二维)
z=interp2(x0,y0,z0,x,y,’method’)
注:
z—被插点值的函数值;x0,y0,z0—插值节点;x,y—被插值点;method—插值方法(‘nearest’:
最邻近插值;‘linear’:
双线性插值;‘cubic’:
双三次插值;缺省时:
双线性插值)。
注意:
要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围。
4.用MATLAB作散点数据的插值计算
cz=griddata(x,y,z,cx,cy,‘method’)
注:
cz—被插点值的函数值;x,y,z—插值节点;cx,cy—被插值点;method—插值方法(‘nearest’:
最邻近插值;‘linear’:
双线性插值;‘cubic’:
双三次插值;'v4‘:
Matlab提供的插值方法;缺省时:
双线性插值)。
练习2:
航行区域的警示线
某海域上频繁地有各种吨位的船只经过。
为保证船只的航行安全,有关机构在低潮时对水深进行了测量,下表是他们提供的测量数据:
水道水深的测量数据
x129.0140.0103.588.0185.5195.0105.5
y7.5141.523.0147.022.5137.585.5
z4868688
x157.5107.577.081.0162.0162.0117.5
y-6.5-81.03.056.5-66.584.0-33.5
z9988949
其中(x,y)为测量点,z为(x,y)处的水深(英尺),水深z是区域坐标(x,y)的函数z=z(x,y),
船的吨位可以用其吃水深度来反映,分为4英尺、4.5英尺、5英尺和5.5英尺4档。
航运部门要在矩形海域(75,200)×(-50,150)上为不同吨位的航船设置警示标记。
请根据测量的数据描述该海域的地貌,并绘制不同吨位的警示线,供航运部门使用。
x=[129140103.588185.5195105.5157.5107.57781162162117.5];
y=[7.5141.52314722.5137.585.5-6.5-81356.5-66.584-33.5];
z=[-4-8-6-8-6-8-8-9-9-8-8-9-4-9];
cx=75:
0.5:
200;
cy=-70:
0.5:
150;
cz=griddata(x,y,z,cx,cy','cubic');
meshz(cx,cy,cz),rotate3d
xlabel('X'),ylabel('Y'),zlabel('Z')
%pause
figure
(2),contour(cx,cy,cz,[-5-5]);gridon,
holdon
plot(x,y,'+')
xlabel('X'),ylabel('Y')
练习3:
估计水塔的水流量
问题描述见教材P.91—93,请绘出三次样条插值曲线,并计算一天的总的用水量。
解:
t0=[0.46,1.38,2.4,3.41,4.43,5.44,6.45,7.47,8.45,11.49,12.49,13.42,14.43,15.44,16.37,17.38,18.49,19.50,20.40,24.43,25.32];
v0=[11.2,9.7,8.6,8.1,9.3,7.2,7.9,7.4,8.4,15.6,16.4,15.5,13.4,13.8,12.9,12.2,12.2,12.9,12.6,11.2,3.5];
t=0:
0.1:
26;y=interp1(t0,v0,t,'spline');
plot(t0,v0,'k+',t,y,'r')
gridon
二、曲线拟合
已知一组(二维)数据,即平面上n个点(xi,yi)i=1,…n,寻求一个函数(曲线)y=f(x),使f(x)在某种准则下与所有数据点最为接近,即曲线拟合得最好。
最常用的方法是线性最小二乘拟合
1.多项式拟合
⏹对给定的数据(xj,yj),j=0,1,…,n;
⏹选取适当阶数的多项式,如二次多项式g(x)=ax^2+bx+c;
⏹使g(x)尽可能逼近(拟合)这些数据,但是不要求经过给定的数据(xj,yj);
2.多项式拟合指令
1)多项式f(x)=a1xm+…+amx+am+1拟合指令:
a=polyfit(x,y,m)
a:
输出多项式拟合系数a[a1,a2,…,am];x,y:
输出长度相同的数组;m:
多项式的次数。
2)多项式在x处的值y的计算命令:
y=polyval(a,x)
练习4:
对下面一组数据作二次多项式拟合
xi
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
yi
-0.447
1.978
3.28
6.16
6.16
7.34
7.66
9.58
9.48
9.30
11.2
写出拟合命令:
plot(x,y,'k+',x,z,'r')
作出数据点和拟合曲线:
写出拟合的二次多项式:
3.可化为多项式的非线性拟和
曲线改直是工程中又一常用的判断曲线形式的方法,许多常见的函数都可以通过适当的变换转化为线性函数。
(1)幂函数
(2)指数函数
(3)抛物函数
练习5:
完成教材P93页的习题5的第一小题。
x0=[0,300,600,1000,1500,2000];
x=0:
100:
2000;
y0=[0.9689,0.9322,0.8969,0.8519,0.7989,0.7491];
y=interp1(x0,y0,x,'spline');
plot(x0,y0,'k+',x,y,'r')
gridon
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 拟合 详解 教学内容