Re: [討論] 好習慣已回收

看板MATLAB作者 (最強⑨番-さるの)時間16年前 (2009/09/03 11:22), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《QQ29 (我愛阿蓉)》之銘言: : 因為之前沒碰matlab 只學過C++ : 一開始認知matlab沒有形態宣告這件事 : 你要一個變數直接 a=10; b=3.14159; : 用得很開心 : 直到最近一直遇到out of memory : 我不知道為什麼明明記憶體還夠空間 他卻一直出現這 : 於是我想一想 : a=10 matlab給他型態都會是double : 是不是大家都會寫成 a=int32(10); : 或是配置array也都是 a=single(zeros(m,n)); : 刻意轉型 減低記憶體使用量? : 現在遇到這個問題 使得整個程式好像都要刻意去轉型 好像有點麻煩@@ : 寫matlab都要養成這習慣嘛? 還是有其他辦法.... : 另外想問out of memory跟 虛擬記憶體有關嘛? 不知道該怎麼解決 謝謝 我想你誤解了它對記憶體的操作,請研究下面的程式,應該對你有所幫助 clear all;clc; i=1; [u s]=memory; while u.MemAvailableAllArrays>190e6 eval(['ret' sprintf('%02d',i) ... '=zeros(round(u.MaxPossibleArrayBytes/8*.996),1);']); [u s]=memory; i=i+1; end memory 這個程式會模擬完全使用記憶體空間的情況,詳細的原因可以help memory -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.171.81.52
文章代碼(AID): #1AdpPovW (MATLAB)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1AdpPovW (MATLAB)