我已设置的数组:减法通过跟踪xy坐标
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];
通过跟踪xy坐标,与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];
我已设置的数组:减法通过跟踪xy坐标
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];
通过跟踪xy坐标,与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];
您可以使用在z
中获得元素的标记210功能:
a1=[x1.',y1.'];
a2=[x2.',y2.'];
[~,ix]=ismember(a2,a1,'rows')
z1(ix)=z1(ix)-z2
要使用ismember
两个矩阵a1
和a2
创建女巫包含以行的坐标。然后ismember
与'rows'
选项用于获取索引。
当一个点存在于x1/y1中不存在的x2/y2中时,上面的代码将失败。
好。我们对这个问题有相同的理解。 – GameOfThrows
谢谢!这正是我所期待的。非常感谢!! –
什么?我不知道这些数字如何给出你想要的结果。你可以解释吗?你为什么需要'x2'和'y2'?只要用'x2'就可以知道'z'上的哪个位置可以减去'z2'。也许我只是不明白..... –
x1和y1代表一个点,z1代表某个值,类似地,x2和y2定义了一个点,z2定义了一些值。现在我需要匹配两个点中的点,如果它们匹配,那么将匹配的坐标减去z。在我的情况下,6,7个坐标是匹配的,所以需要通过减去z1-z2来修改相应的z值。 –
uhhhh,我也不明白,所以从一个抽象的推论点上,你指定了x2 = y2 = [6 7];因此你可以用z2(这是[2 2])减去z中的第6和第7个元素?那么当x2!= y2时会发生什么?另外,x1和y1有什么意义? – GameOfThrows