推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

Matlab中插值函数

   2023-07-08 网络整理佚名1710
核心提示:它找出一元函数f(x)在中间点的数值。其中函数f(x)由所给数据决定。用指定的算法计算插值:’’:线性插值(缺省方式),直接完成计算;’’:双线性插值算法(缺省算法);用二元函数z=f(x,y)的曲面拟合有不规则的数据向量x,y,z。‘’:基于三角形的线性插值(缺省算法);生成用于画三维图形的矩阵数据%生成三维阵列X,Y,Z,用于计算三元函数v=f(x,y,z)或三维容积图。

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)

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON