0

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

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

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

但 MATLAB 不会让我为多个索引做这件事。当我尝试时,它给了我错误:

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

任何帮助将不胜感激,因为我对 MATLAB 很陌生,还没有弄清楚所有的技巧。

4

1 回答 1

1

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

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

或者,如果您希望它们在一行中,您可以这样做:

[y, I] = deal(A(A>10), A>10);
于 2013-08-29T05:52:41.993 回答