2017-03-23 34 views
0

我有矩陣A=rand(M,N)和行向量B=randi([1 M],1,N)。我想根據B中的行號將條目從A分配到C。那就是 C(1,1)=A(B(1,1),1),C(1,2)=A(B(1,2),2)等等。有沒有簡單的方法得到C而不使用for循環?根據MATLAB中的行號從矩陣中選擇條目

回答

1

你只需要使用sub2ind轉換行標,B和列標,1:numel(B),爲線性指數

C = A(sub2ind(size(A), B, 1:numel(B))); 
+0

感謝@Suever! – Frey