日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

matlab内存管理

發(fā)布時間:2023/11/27 生活经验 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab内存管理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)自:http://my.donews.com/deng/2006/09/24/vijgqxehmkxiruywdauvxyiafogtskeymhyw/

?

用 Matlab 進行大規(guī)??茖W(xué)計算或仿真時,內(nèi)存是一個需要時常注意的問題。當(dāng)你寫的 Matlab 程序跳出“Out of Memory” 時,以下幾點措施是需要優(yōu)先考慮的解決方法:

?

?

1. 確保內(nèi)存的連續(xù)性?

?

Matlab 中數(shù)組必須占用連續(xù)分配的內(nèi)存段,當(dāng)無法為新建的數(shù)組分配連續(xù)的內(nèi)存段的時候,”O(jiān)ut of Memory” 就會出現(xiàn)。由于反復(fù)分配和釋放數(shù)組會使可用的連續(xù)內(nèi)存段減少,因此當(dāng) Matlab 剛剛啟動時其連續(xù)內(nèi)存最多,此時往往可以新建非常大的數(shù)組,這一點可以用命令 feature(‘memstats’)(在 7.0 版本以上)看出。如果現(xiàn)實的最大連續(xù)內(nèi)存段很小,但實際可用內(nèi)存(非連續(xù)的)仍舊很多,則表明內(nèi)存中碎片太多了。此時可以考慮用 pack 命令,pack 命令的作用就是將所有內(nèi)存中的數(shù)組寫入硬盤,然后重新建立這些數(shù)組,以減少內(nèi)存碎片。此外,在命令行或者程序中都可以使用 clear 命令,隨時減少不必要的內(nèi)存。?

?

2. 3GB 開關(guān)?

?

由于32位 Windows 操作系統(tǒng)的限制,每個進程只能使用最多 2GB 的虛擬內(nèi)存地址空間,因此 Matlab 的可分配內(nèi)存也受到相應(yīng)的限制。Matlab 7.0.1 引進了新的內(nèi)存管理機制,可以利用 Windows 的 3GB 開關(guān),使用 3GB 開關(guān)啟動的 Windows 每個進程可以在多分配 1 GB 的虛擬地址空間,具體的操作方法可見:http://www.mathworks.com/support/tech-notes/1100/1106.html?

?

3. 減少使用雙浮點數(shù)?

?

Matlab 默認(rèn)的數(shù)字類型是雙精度浮點數(shù) (double),每個雙浮點數(shù)占用 8 個字節(jié)。對于一些整數(shù)操作來說,使用雙浮點數(shù)顯得很浪費。在 Matlab 中可以在預(yù)先分配數(shù)組時指定使用的數(shù)字類型如以下命令:zero(10, 10, ‘uint8′) 。對于浮點數(shù),在很多精度要求不高的情況下,可以使用4個字節(jié)的單浮點數(shù) (single),可以減少一半的內(nèi)存。關(guān)于單、雙浮點數(shù)的精度對照如下,以便根據(jù)需要選擇使用:?

?

?

single: 精度 (1.1921e-007) 最大數(shù) (3.4028e+038)
double: 精度 (2.2204e-016) 最大數(shù) (1.7977e+308)

總結(jié)

以上是生活随笔為你收集整理的matlab内存管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

歡迎分享!

轉(zhuǎn)載請說明來源于"生活随笔",并保留原作者的名字。

本文地址:matlab内存管理