我有一个钻孔位置矩阵([X Y])。我已经提取了唯一的位置([Xuq Yuq]),然后使用griddata为每个位置插入一个高程(Z)。现在我想在原始矩阵中创建一个列,并将相关的Z分配回每个X& Y位置。这可能没有for循环吗?
答案 0 :(得分:1)
如果您通过执行以下操作创建了独特的位置和高程:
XY = unique(data(:,[1 2]),'rows');
Z = f(XY); % some function of XY(:,1) and XY(:,2)
然后您需要做的就是保持第三个输出值不唯一,并使用它来适当地映射Z
:
[XY,~,ic] = unique(data(:,[1 2]),'rows');
Z = f(XY);
data = [data Z(ic)]; % append the mapped column