如何将多个索引存储到新数组中

时间:2013-08-29 03:58:40

标签: matlab indexing indices

我有一列数字,我想找到大于10的那些,然后记录他们的索引。我可以通过以下方式为单个索引执行此操作:

[y, I] = A(A>10)

其中y存储值,我存储索引,A是矩阵名称。

但MATLAB不允许我为多个索引执行此操作。当我尝试时,它给了我错误:

“索引不能产生多重结果。”

任何帮助都会非常感激,因为我对MATLAB很新,还没有想出所有的技巧。

1 个答案:

答案 0 :(得分:1)

您要求matlab返回多个结果,而A(A> 10)将仅返回列矩阵。这是一种正确的方法:

I = A > 10;
y = A(I);

或者如果您想将它们放在一行中,您可以这样做:

[y, I] = deal(A(A>10), A>10);