Re: 如何輸出比較快速
: 另一方面, fwrite 好像也不錯用....可是怎麼用阿? 檔案會存到哪裡去呢?
: 譬如說這個網頁講到的:
: http://www.mathworks.com/matlabcentral/newsreader/view_thread/266745
:
: 推 kevinztw:改用fwrite之類低階檔案存取函數+上不要用回圈存 07/21 17:06
: → kevinztw:一次就存一整個完整矩陣 07/21 17:07
: 推 sunev:用save不行嗎? 07/21 17:42
喔喔感謝各為即時的回應~
1.
阿...用 save 的確比較快 (費時小於csvwrite的1/4) 而且檔案比較小 (< 1/2)
哈哈我之前怎麼以為save比較慢...可能因為某些網頁這麼寫的吧 我自己也沒試 :P
2.
前一篇沒講清楚, 我其實的確是在迴圈跑完才存的:
for i = 1:n
...
... <---產生數據 data = n by 56 矩陣, n = 3*10^5
end 費時約90秒
csvwrite(filename, data)
% 費時約 83 秒, 如果是拆成兩種數據(uint8 & float)來存 也沒有比較快
save(filename, 'data') %按照預設的壓縮以及 unicode 等等
% 費時約 20 秒 ..........姑狗上說 fwrtite 可以更快??
% 如果加上 '-ascii' 的話費時 40 秒
3.
我還是不太懂 fwrite, 它的 code 並沒有地方讓我指定要存到哪個檔案不是嗎?
Help 說明裡面的通例
count = fwrite(fid,A,precision);
其中 count 也只會是某整數, fid 的話我應該是要用 1 吧, A 就是我的數據矩陣 data,
而 precision 就是 real*4之類的.
那這樣有把檔案存到哪裡嗎?
謝啦
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 96.19.145.41
推
07/22 02:51, , 1F
07/22 02:51, 1F
→
07/22 02:52, , 2F
07/22 02:52, 2F
→
07/22 13:27, , 3F
07/22 13:27, 3F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):