给定由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图像。
答案 0 :(得分:1)
它取决于提供的'method'参数,默认情况下(没有提供方法)它使用linear插值,你也可以选择'nearest',它只是找到最近的点并指定相同的值,或者你可以使用'spline'和'cubic'。
对于单调数据(均匀分布的网格),您可以使用'* linear',这可能使用trilinear插值。
编辑: 回答这里的评论中的问题是三线性插值的一个例子 假设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个线性插值。