资源描述:
《matlab中函数拟合方法—个人总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、目录一维插值方案2二维数据内插值(表格查找)3等高线4三维曲面5等高线26三维曲面27matlab绘制温度场(尚未深入研究)13二维曲线(非线性)拟合步骤18三维曲线(非线性)拟合步骤19三维曲线的画法20三维曲面的画法21画三维图3只有点的数据,没有函数关系式23空间点拟合的基本原理27空间点拟合的最小二乘法28曲面生成后再进行多项式拟合37六点生成曲面38四点生成平面39用三维离散点拟合光滑曲面140用三维离散点拟合光滑曲面240一维插值方案clearyear=1900:10:2010;pr
2、oduct=[75.99591.972105.711123.203131.669150.697179.323203.212226.505249.633256.344267.893]p1995=interp1(year,product,1995)%使用一维数据内插值(该题中只能在1900和2010之间进行插值,大于2010和小于1900都%无效)命令x=1900:1:2010y=interp1(year,product,x,'spine');plot(year,product,'o',x,y)插值
3、说明:interp1(x,Y,xi,method)%用指定的算法计算插值:’nearest’:最近邻点插值,直接完成计算;’linear’:线性插值(缺省方式),直接完成计算;’spine’:三次样条函数插值。对于该方法,命令interp1调用函数spline、ppval、mkpp、umkpp。这些命令生成一系列用于分段多项式操作的函数。命令spline用它们执行三次样条函数插值;’pchip’:分段三次Hermite插值。对于该方法,命令interp1调用函数pchip,用于对向量x与y执行分
4、段三次内插值。该方法保留单调性与数据的外形;’cubic’:与’pchip’操作相同;’v5cubic’:在MATLAB5.0中的三次插值。对于超出x范围的xi的分量,使用方法’nearest’、’linear’、’v5cubic’的插值算法,相应地将返回NaN。对其他的方法,interp1将对超出的分量执行外插值算法。yi=interp1(x,Y,xi,method,'extrap')%对于超出x范围的xi中的分量将执行特殊的外插值法extrap。yi=interp1(x,Y,xi,metho
5、d,extrapval)%确定超出x范围的xi中的分量的外插值extrapval,其值通常取NaN或0。例1clear;x=0:10;y=x.*sin(x);xx=0:.25:10;yy=interp1(x,y,xx)plot(x,y,'kd',xx,yy)interp2二维数据内插值(表格查找)[X,Y]=meshgrid(-3:.25:3);Z=peaks(X,Y);[XI,YI]=meshgrid(-3:.125:3);ZZ=interp2(X,Y,Z,XI,YI);surfl(X,Y,Z
6、);holdon;surfl(XI,YI,ZZ+15)axis([-33-33-520]);shadingflatholdoff功能三维数据插值interp3(查表)[x,y,z,v]=flow(20);[xx,yy,zz]=meshgrid(.1:.25:10,-3:.25:3,-3:.25:3);vv=interp3(x,y,z,v,xx,yy,zz);slice(xx,yy,zz,vv,[69.5],[12],[-2.2]);shadinginterp;colormapcool等高线cle
7、arZ=peaksforw=1:1:100V=[w/10,0,w/10]contour(Z,V)%C=contour(Z,V)%Clabel(C)Holdontitle('等高线及其标注')endend三维曲面x=0:10y=0:.1:1[d,B]=meshgrid(x,y)z=1./(B.*d.^2+1);surf(B,d,z)x=0:0.05:10y=0:0.05:1[X,Y]=meshgrid(x,y)Z=(X.^3+3.*Y.^2+5*Y);%Z=(X.^2+3.*Y.^3+5*Y);%
8、surf(X,Y,Z)%一张普通的三维曲面,有时需要旋转一下才能看到下图的结果;x=0:0.05:1y=0:0.05:1[X,Y]=meshgrid(x,y)Z=(X.^2-Y.^2);%Z=(4*X.^3*Y-4*X.*Y.^3);surf(X,Y,Z)%一张普通的三维曲面,有时需要旋转一下才能看到下图的结果;等高线2clearx=-2:0.1:2y=-2:0.1:2[X,Y]=meshgrid(x,y)Z=(X.^2+Y.^2).^0.5forw=1:1:100V=[w/3,w/pi,w/3