is中的插值函数,其调用格式为:yi=(x,y,xi,'')
其中,x、y为插值点,yi为插值点xi处的插值结果; x,y为向量,''表示采用的插值方法,提供了几种插值方法:''为最近邻插值,''为线性插值; ''三次样条插值; “三次”三次插值。 默认情况下,它意味着线性插值。
注意:所有插值方法都要求x是单调的,并且xi不能超出x的范围。
例:全天24小时内,从零点起每2小时测量一次的环境温度数据为
12, 9, 9, 10, 18, 24, 28, 27, 25, 20, 18, 15, 13
问题:猜猜中午12:00(即13:00)的温度。
x=0:2:24;
y=[12 9 9 10 18 24 28 27 25 20 18 15 13];
x1=13;
y1=interp1(x,y,x1,'spline')
plot(x,y,'o' ,xi,yi) %插值得到一天24小时的温度曲线
订单 1
功能一维数据插值(查表)。 该命令计算数据点之间的插值。 它找到一元函数 f(x) 在中间点的值。 其中函数 f(x) 由给定数据确定。
x:原始数据点
Y:原始数据点
xi:插值点
Yi:插值点
(1)yi = (x,y,xi,)
使用指定的算法计算插值:
'':最近邻点插值,直接完成计算;
'':线性插值(默认模式),直接完成计算;
'':三次样条插值。
'cubic':该方法保留数据的单调性和形状;
x = 0:10; y = x.*sin(x);
xx = 0:.25:10; yy = interp1(x,y,xx);
plot(x,y,'kd',xx,yy)
订单 2
功能 2D 数据插值
(1)ZI = (X,Y,Z,XI,YI,)
返回矩阵ZI,其元素包含参数XI和YI对应的元素(可以是相同类型的向量或矩阵),即Zi(i,j)←[Xi(i,j),yi(i,j)]。 用户可以输入行向量Xi和列向量Yi,此时输出向量Zi与矩阵(xi,yi)类型相同。
(2)ZI = (Z,XI,YI)
默认情况下,X=1:n,Y=1:m,其中 [m,n]=size(Z)。 然后按照第一种情况计算。
使用指定算法计算 2D 插值:
'':双线性插值算法(默认算法);
'':最近插值;
'':三次样条插值;
'cubic':双三次插值。
[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);hold on;
surfl(XI,YI,ZZ+15)
axis([-3 3 -3 3 -5 20]);shading flat
hold off
订单 3
(4)VI = (X,Y,Z,V,XI,YI,ZI,)
求三元函数 V=V(X,Y,Z) 在由参数 X,Y,Z 确定的点 (XI,YI,ZI) 处的值。
% 使用指定算法进行插值计算:
'':线性插值(默认算法);
'cubic':三次插值;
'':三次样条插值;
'':最近邻插值。
[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,[6 9.5],[1 2],[-2 .2]); shading interp;colormap cool
订单 4
功能数据网格
(1)ZI = (x,y,z,XI,YI,)
使用二元函数 z=f(x,y) 将曲面拟合到不规则数据向量 x,y,z。 将返回曲面 z 在点 (XI,YI) 处的插值。 表面始终穿过这些数据点 (x,y,z),输入参数 (XI,YI) 通常是规则网格(由命令生成)。
使用指定算法计算:
'':基于三角形的线性插值(默认算法);
'cubic':基于三角形的三次插值;
'':最近邻插值法;
'v4':4 中的算法。
订单 5
函数三次样条数据插值
格式
(1)yy = (x,y,xx)
x = [0 2 4 5 8 12 12.8 17.2 19.9 20]; y = exp(x).*sin(x);
xx = 0:.25:20;
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy)
订单 6
生成用于绘制 3D 图形的矩阵数据的函数
格式 [X,Y] = (x,y) 将由区域 [min(x), max(x), min(y), max( y)] 用一行 x=x(i),y=y(j) ( i=1,2,…,(x) , j=1,2,…,(y)) 进行除法。 这样就得到(x)*(y)个点,
这些点的横坐标用一个矩阵X表示,X的每个行向量与向量x相同; 这些点的纵坐标用矩阵Y表示,Y的每个列向量与向量y相同。 其中,X和Y可用于计算三维图形或曲面构造中二元函数z=f(x,y)与xy平面的矩形定义域的划分。
[X,Y] = (x) % 相当于 [X,Y]=(x,x)。
[X,Y,Z] = (x,y,z) % 生成三维数组X,Y,Z,用于计算三元函数v=f(x,y,z)或三元函数三维体积图。
[X,Y] = meshgrid(1:3,10:14)