在MATLAB中,我正在尋找一種通過從給定「選擇器矩陣」的多個矩陣中進行選擇來填充矩陣的高效(和/或矢量化)方法。例如,給定三個源矩陣在MATLAB中用索引矩陣選擇值?
M1 = [0.1, 0.2; 0.3, 0.4]
M2 = [1, 2; 3, 4]
M3 = [10, 20; 30, 40]
和指數
I = [1, 3; 1, 2]
我想通過從M3
選擇從M1
的第一個條目,第二以產生新的矩陣M = [0.1, 20; 0.3, 4]
的矩陣等
我完全可以在嵌套循環中做到這一點,通過每個條目並填寫值,但我相信有一種更有效的方法。
如果M1
,M2
,M3
和M
都是3D矩陣(RGB圖像)? I
的每個條目告訴我們從哪個矩陣中我們應該採用3向量。說,如果I(1, 3) = 3
,那麼我們知道M
的(1, 3, :)
索引的條目應該是M3(1, 3, :)
。