0

给定由 f(x,y,z) 在统一和离散 (x,y,z) 值处定义的 3D 数据集,Matlab 如何计算函数 f(x,y,z) 在以下位置的值不是来自原始数据集(例如 x+0.1, y+0.1,z+0.1)。该 3D 数据集可以是具有特定离散 x、y、z 值的像素强度值的 3D 图像。

4

1 回答 1

2

它取决于提供的“方法”参数,默认情况下(没有提供方法)它使用线性插值,您也可以选择“最近”,它只是找到最近的点并分配相同的值,或者您可以使用“样条曲线” '和'立方'。

对于单调数据(均匀分布的网格),您可以使用“*线性”,这可能使用三线性插值。

编辑:在这里回答评论中的问题是一个三线性插值的例子,说 f(x,y,z) 定义为 x,y,z 属于 {0,1} 并且我想要 0 <= i 的值,j,k <= 1

f(i,j,k) = ((f(0,0,0)*(1-i)+f(1,0,0)*i)*(1-j)+ 
            (f(0,1,0)*(1-i)+f(1,1,0)*i)*  j  )     *    (1-k)+

           ((f(0,0,1)*(1-i)+f(1,0,1)*i)*(1-j)+ 
            (f(0,1,1)*(1-i)+f(1,1,1)*i)*  j  )     *      k

注意这里有 7 个线性插值。

于 2012-09-16T11:40:22.117 回答