0

我正在寻找将两个数组转换为稀疏矩阵的命令或技巧。这两个数组包含 x 值和 y 值,它们给出了笛卡尔坐标系中的坐标。我想对坐标进行分组,如果该值介于 x 轴和 y 轴上的某个值之间。

% MATLAB
x_i = find(x > 0.1 & x < 0.9);
y_i = find(y > 0.4 & y < 0.8);

%Then I want to find indicies which are located in both x_i and y_i

这个小技巧有简单的方法吗?

4

1 回答 1

5

假设x并且y具有相同的形状(如果它们是坐标,它们应该是),你可以简单地写

commonIndices = find(x > 0.1 & x < 0.9 & y > 0.4 & y < 0.8);

如果您想要一种通用方法来查找两个列表共有的数字,您可以使用 intersect

commonEntries = intersect(x_i,y_i);
于 2010-04-27T20:45:00.383 回答