簡體   English   中英

如何在Matlab中找到矩陣中一個向量的元素的索引?

[英]How do I find the indices of the elements of one vector in a matrix in Matlab?

假設我有一個9x9的矩陣A,它由整數組成。 我有另一個2500x4矩陣IDX,它由A中相同的整數組成。我想找到矩陣A中IDX中所有值的索引。

這是我所擁有的:

for ii=1:length(IDX)
     Mat_idx=ismember(A,IDX(ii,:));
     [StatIdxX StatIdxY] = find(Mat_idx);
end

現在,對於每個ii,StatIdxX和StatIdxY是矩陣A中IDX的行索引和col索引。這很慢,而罪魁禍首是ismember

有什么想法可以加快速度嗎?

謝謝。

首先使用A=A(:)展平A ,這將形成單個線性索引,而不是row,col。 然后,只需使用邏輯索引即可。 例如:

B=zeros(size(IDX));
for n=1:numel(A)
B(IDX==A(n))=n;
end

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM