2013-02-23 164 views
0

我有一個矩陣< 500 x 500>和矩陣b < 500 x 2>。 矩陣b包含兩種類型的值,它們是矩陣a的行和列座標。我想使用矩陣b中的值來複制所有落在矩陣a的行和列座標上的值。matlab。根據另一個矩陣的值從一個矩陣複製值

見下面的例子

matrix a   matrix b output 
1 2 3 4 5  1 5  1 2 3 4 5 
6 7 8 9 10 2 5  7 8 9 10 
11 12 13 14 15 1 3  11 12 13 
+0

什麼是說明B應該是準確值是多少?而「矩陣a的行列座標上的值」是什麼意思?你的措詞含糊不清。 – 2013-02-23 22:42:19

回答

2

因爲每一行都會有不同的長度,你需要的值保存到一個單元陣列。

像這樣的東西應該工作:

output = cell(size(b,1),1); 

for i = 1:size(a,1) 

    output{i} = a(i, b(i,1):b(i,2)) 

end 
+0

如何避免非整數?代碼在非整數運行時會掛起。另外,我無法修改數據以將非整數轉換爲整數。我必須保持原樣,不管是整數還是非整數。非常感謝。 – Buntalan 2013-02-25 12:07:29

相關問題