1

測定値 ([646 2] の値とタイムポイント) の 3D ボリューム (80x80x3 ポイント) があります。このデータは順序付けされておらず、サンプルの時間点間の時間は等間隔ではありません。タイムポイントを少なくするためにリサンプリング/補間したいと思います([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 に答える