MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   在矩阵中查找值并将其放入向量中 (https://www.labfans.com/bbs/showthread.php?t=24012)

poster 2019-12-10 20:48

在矩阵中查找值并将其放入向量中
 
它必须很简单,但是令人惊讶的是,在这里或通过反复试验,我找不到该问题的答案。
我想从矩阵中获取值(根据某些条件)并将值放入向量中。我还需要匹配值的下标索引。有很多数据,因此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。



[B]回答:[/B]

您可以将矩阵像矢量一样隐式对待( [URL="http://www.mathworks.com/help/techdoc/math/f1-85462.html#f1-85511"]线性索引[/URL] ):

I = find(A > 5); values = A(I); 请注意,使用[URL="http://www.mathworks.com/help/techdoc/math/f1-85462.html#bq7egb6-1"]逻辑索引[/URL]可以更有效地执行此操作:

values = A(A > 5);

[url=https://stackoverflow.com/questions/3955595]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 23:44

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.