通过跟踪x y坐标减法

时间:2016-03-07 10:14:57

标签: matlab

我有一组数组:

x1=[1 2 3 4 5 6 7 8 9];
y1=[1 2 3 4 5 6 7 8 9];
z1=[2 2 2 2 2 9 6 2 2];

x2=[6 7];
y2=[6 7];
z2=[2 2];

通过跟踪x y坐标,必须减去z数组,以便输出

x=[1 2 3 4 5 6 7 8 9];
y=[1 2 3 4 5 6 7 8 9];
z=[2 2 2 2 2 7 4 2 2];

1 个答案:

答案 0 :(得分:3)

您可以使用z函数在ismember中获取元素的标记:

a1=[x1.',y1.'];
a2=[x2.',y2.'];
[~,ix]=ismember(a2,a1,'rows')
z1(ix)=z1(ix)-z2

要使用ismember两个矩阵a1a2,请创建包含行中坐标的内容。然后使用带ismember选项的'rows'来获取索引。

当x2 / y2中存在x1 / y1中不存在的点时,上述代码将失败。