我有一组数组:
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];
答案 0 :(得分:3)
您可以使用z
函数在ismember
中获取元素的标记:
a1=[x1.',y1.'];
a2=[x2.',y2.'];
[~,ix]=ismember(a2,a1,'rows')
z1(ix)=z1(ix)-z2
要使用ismember
两个矩阵a1
和a2
,请创建包含行中坐标的内容。然后使用带ismember
选项的'rows'
来获取索引。
当x2 / y2中存在x1 / y1中不存在的点时,上述代码将失败。