精華區beta MATLAB 關於我們 聯絡資訊
※ 引述《Proe2 (Sorry, I can't be bette)》之銘言: ※ 引述《wolako (￾ N￾N )》之銘言: : ※ 引述《jinkay ( )》之銘言: : : 謝謝喔 我大概講的不夠清楚 : : for LoopI=1:10 : : a=.... : : b=.... : : c=.... : : save filename.mat : : end : : 因為每次迴圈的變數的值都不一樣 : : 我想要分別存檔 : : 但是我用 "save filename.mat" 只能存第10次迴圈的所有變數 : : 我想知道除了用structure的方式 還有其他方法嗎 : for i=1:10 : ... : eval(['save filenameNo',num2str(i,'%02d')]); : end a = zeros(1,10); b = zeros(1,10); c = zeros(1,10); for i=1:10 a(i) = .... b(i) = .... c(i) = .... end 這樣就可以保留變數值 看是要繼續計算還是要輸出都可以 在迴圈裡面用 eval 好像不太理想 -- 為什麼你要問為什麼...為什麼我要聽你問為什麼... 問完為什麼...為什麼你問我為什麼不問為什麼... 為什麼問為什麼...不問為什麼就是回答你為什麼問為什麼.. 為什麼又問為什麼...不問為什麼妳為什麼不問為什麼.... 妳到底在問什麼...為的又是個為什麼.... 再問為什麼就扁到妳問不出為什麼問為什麼! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.61.85
jimpeng:推!迴圈內做I/O會降低速度,善用陣列才 140.129.25.64 03/15
wolako:前題是變數吃的記憶體不大吧 140.129.65.184 03/15
而且原文最終目的都是要存成檔案,所以總執行時間不會快多少 "善用陣列"的後果很可能吃了很多資源在執行程式 因為這裡的"善用陣列"並不是"善用陣列運算" 另外,未來取出檔案分析時 如果是要分析每一次疊代下的所有變數,則eval應寫在迴圈內才好 反之如果是為了看變數在每次疊代後的變化,則用矩陣儲存法較好 所以怎麼儲存較好還要看目的而定吧 當然,如果程式很小或電腦配備很強 我想執行時間是0.01sec 或0.1sec也就不用太在意了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.129.65.184