我有一列数字,我想找到大于10的那些,然后记录他们的索引。我可以通过以下方式为单个索引执行此操作:
[y, I] = A(A>10)
其中y存储值,我存储索引,A是矩阵名称。
但MATLAB不允许我为多个索引执行此操作。当我尝试时,它给了我错误:
“索引不能产生多重结果。”
任何帮助都会非常感激,因为我对MATLAB很新,还没有想出所有的技巧。
答案 0 :(得分:1)
您要求matlab返回多个结果,而A(A> 10)将仅返回列矩阵。这是一种正确的方法:
I = A > 10;
y = A(I);
或者如果您想将它们放在一行中,您可以这样做:
[y, I] = deal(A(A>10), A>10);