Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一列数字,我想找到大于 10 的数字,然后记录它们的索引。我可以通过以下方式对单个索引执行此操作:
[y, I] = A(A>10)
其中 y 存储值,I 存储索引,A 是矩阵名称。
但 MATLAB 不会让我为多个索引做这件事。当我尝试时,它给了我错误:
“索引不能产生多个结果。”
任何帮助将不胜感激,因为我对 MATLAB 很陌生,还没有弄清楚所有的技巧。
您要求 matlab 返回多个结果,而 A(A>10) 将仅返回一个列矩阵。这将是一种正确的方法:
I = A > 10; y = A(I);
或者,如果您希望它们在一行中,您可以这样做:
[y, I] = deal(A(A>10), A>10);