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中的行號從矩陣中選擇條目
我有矩陣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中的行號從矩陣中選擇條目
你只需要使用sub2ind
轉換行標,B
和列標,1:numel(B)
,爲線性指數
C = A(sub2ind(size(A), B, 1:numel(B)));
感謝@Suever! – Frey