1

我有一个 3D 体积(80x80x3 点)的测量值([646 2] 值和时间点)。此数据未排序,并且样本时间点之间的时间不等距。我想重新采样/插值以减少时间点(比如 [0:0.1:1] 间距)。所有数据一起变成一个 [80 80 3 646 2] 数组,其中 [: : : : 2] 是时间,我想对其进行插值。

我的第一次尝试是使用 interp1 但下面的回答已经进一步帮助了我,现在我不确定的问题是当它与测量值共享其维度时如何插入时间?我的意思是 [: : : : 1] 是值, [: : : : 2] 是时间点。

4

1 回答 1

2
 % suppose your original matrix ranges from 1:80,1:80,1:3,1:646
 [x,y,z,t] = ndgrid(1:1:80,1:1:80,1:1:3,1:646);   

 % and you want to interpolate in finer constructed grids with interval of 0.1
 [xi,yi,zi,ti] = ndgrid(1:0.1:80,1:0.1:80,1:0.1:3,1:0.1:646);

 % v is your original matrix measurement matrix, vi is the interpolation
 vi = interpn(x,y,z,t,v,xi,yi,zi,ti,'spline');
于 2013-12-02T14:01:35.883 回答