鑑於下面的4x6矩陣A
:創建基於行和列的下標新矩陣
A = [
10 11 12 13 14 15
16 17 18 19 20 21
22 23 24 25 26 27
28 29 30 31 32 33
];
和含有該行和列的下標(r
和c
,分別地)兩個變量:
r = [
1 1 1
1 1 1
3 3 3
3 3 3
4 4 4
];
c = [
1 3 6
1 2 4
1 2 6
1 4 5
1 5 6
];
我想創建一個新的5X3矩陣B
這需要從r
每一行和每一列的組合和c
這樣的:
B = [
10 12 15
10 11 13
22 23 27
22 25 26
28 32 33
];
注意,元件B(1,1)
通過使用r(1,1)
作爲行下標和c(1,1)
作爲列下標導出。元B(1,2)
需要r(1,2)
和c(1,2)
爲行和列下標。等等...
我可以解決使用嵌套的for循環這個問題,但我工作的實際應用具有非常大的矩陣和這種方法導致顯著的瓶頸。有沒有更好的(閱讀:更快)的選擇?
的for
循環以供參考:
B = NaN(size(r,1),size(c,2));
for row=1:size(r,1)
for col=1:size(c,2)
B(row,col) = A(r(row,col),c(row,col));
end
end
這是專用的路要走,但你至少應包括一些代碼,使這個問題的答案upvoteworthy。這樣它的評論。 – thewaywewalk