它一定很简单,但令人惊讶的是我无法在这里或通过反复试验找到这个问题的答案。
我想从矩阵中获取值(根据某些条件)并将这些值放入向量中。我还需要匹配值的下标索引。有很多数据,所以 for 循环已经用完了。
这是一个正确的(但重复的)答案:
[I,J] = find(A > 5);
values = zeros(numel(I),1);
for i=1:numel(I)
values(i) = A(I(i),J(i));
end
我试过 values = A(I,J)
但这是 n×n 而不是 n×1。
最佳答案
您可以隐式地将矩阵视为向量 (linear indexing):
I = find(A > 5);
values = A(I);
请注意,您可以使用 logical indexing 更有效地执行此操作:
values = A(A > 5);
关于matlab - 在矩阵中查找值并将它们放入向量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3955595/