它必须很简单,但是令人惊讶的是,在这里或通过反复试验,我找不到该问题的答案。
我想从矩阵中获取值(根据某些条件)并将值放入向量中。我还需要匹配值的下标索引。有很多数据,因此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。
回答:
您可以将矩阵像矢量一样隐式对待(
线性索引 ):
I = find(A > 5); values = A(I); 请注意,使用
逻辑索引可以更有效地执行此操作:
values = A(A > 5);
更多&回答...