我的數據是一個2096x252矩陣的double
值。我需要一個for
循環或執行以下操作的等效項:
每次矩陣被重現時,第一個數組被刪除,第二個數組成爲第一個。當循環再次運行時,剩餘的矩陣被再現,並且第一個數組被刪除,並且下一個變成第一個,依此類推。 我嘗試過使用repmat
,但處理大型矩陣(2096x252)時太慢且乏味。matlab for循環:最快,最有效的方法來重現大矩陣
例輸入:
1 2 3 4
3 4 5 6
3 5 7 5
9 6 3 2
所需的輸出:
1 2 3 4
3 4 5 6
3 5 7 5
9 6 3 2
3 4 5 6
3 5 7 5
9 6 3 2
3 5 7 5
9 6 3 2
9 6 3 2
如果我正確理解你的問題,你的最終矩陣將是'2197656 x 252'的大小,我認爲這將超過4.4GB的大小。你確定內存不是限制因素,而不是算法的速度? –
如果內存是一個限制因素,那麼你是否可以容納代碼來拼接和切分數據,所以這不成問題。 – Buntalan