如何輸出比較快速
我對 Matlab 不是很瞭解,看精華區好像也沒有,麻煩各位高手指點一下囉~ 多謝
我的資料有兩種,第一種只會是 0~8的整數,第二種是 double(不過其實float就夠了)
第一種是一個 n by 50 的矩陣,第二種是 n by 6 的矩陣, n 是三十萬左右。
(其實計算總是跑不停的,需要不斷寫到硬碟,最好是能抓到一個平衡說多久存一次。
目前 n 是三十萬,不知道 n 是更大一點好還是更小一點好...不過那是一個議題吧)
現在我直接用 csvwrite 第一種大約花 65 秒(30Mb),第二種大約花 17 秒 (13Mb)。
我覺得太久了,因為產生這些數據的迴圈什麼的也只需要花 90 秒左右而已。同時,
好像第一種就算明確定義成 uint8 好像也沒有比較快或比較小....我乾脆還是把
兩種合併成一個 n by 56 的矩陣算了?
(因為其實本來每一筆(row)資料就是要兩種合在一起看)
偷偷說一下,用 R 的 list 的話,兩者合起來的大小也只有一半左右而已,22Mb。
我google 了一下,好像說存成 binary 格式會比較快也比較省空間....不過這個
網頁提供的 QEMcelltocsv.m 好像是針對儲存字串的(?),請問要怎麼改成可以
存數字阿?
http://www.mathworks.com/matlabcentral/newsreader/view_thread/243930
另一方面, fwrite 好像也不錯用....可是怎麼用阿? 檔案會存到哪裡去呢?
譬如說這個網頁講到的:
http://www.mathworks.com/matlabcentral/newsreader/view_thread/266745
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 96.19.145.41
※ 編輯: physmd 來自: 96.19.145.41 (07/21 15:19)
推
07/21 17:06, , 1F
07/21 17:06, 1F
→
07/21 17:07, , 2F
07/21 17:07, 2F
推
07/21 17:42, , 3F
07/21 17:42, 3F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 1 之 2 篇):