Matlab Out of memory 解决-经管之家官网!

人大经济论坛-经管之家 收藏本站
您当前的位置> 软件培训>>

Matlab软件培训

>>

Matlab Out of memory 解决

Matlab Out of memory 解决

发布:xjsunxm | 分类:Matlab软件培训

关于本站

人大经济论坛-经管之家:分享大学、考研、论文、会计、留学、数据、经济学、金融学、管理学、统计学、博弈论、统计年鉴、行业分析包括等相关资源。
经管之家是国内活跃的在线教育咨询平台!

经管之家新媒体交易平台

提供"微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯"等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

提供微信号、微博、抖音、快手、头条、小红书、百家号、企鹅号、UC号、一点资讯等虚拟账号交易,真正实现买卖双方的共赢。【请点击这里访问】

MatlabOutofmemory问题总结【原创】(一)不知道为什么论坛里没有关于MATLAB常见问题的一些总结贴,我在这里抛砖引玉了,希望各位高手能够不吝指教,多多发表自己对MATLAB使用的一些感悟和总结!Outofmemory问题总结 ...
免费学术公开课,扫码加入


Matlab Out of memory问题总结【原创】(一)

不知道为什么论坛里没有关于MATLAB常见问题的一些总结贴,我在这里抛砖引玉了,希望各位高手能够不吝指教,多多发表自己对MATLAB使用的一些感悟和总结!



Out of memory问题总结【原创】——最有效的方法


首先,我要声明,matlab自带的Help才是最权威的Matlab学习资料,如果有时间好好学习一下或是可以高效的使用的话,一定受益匪浅!比如说像Out of Memory这个问题,最开始我都是用Help memory,几乎得不到任何信息;然后就是去网上搜索此类问题的解决方法,一般有这几种:
除了升级内存和升级64位系统外,下面几个方法也是解决之道。
# 增加虚拟内存
# 采用PACK (在命令行输入 pack 整理内存空间)
# 采用3GB 开关启动系统(修改 c盘根目录 boot.ini 启动选项加上 /3G 例如:multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect /3G
# 优化程序,减少变量 (使用稀疏矩阵 sparse ) save 保存变量 load 变量,需要时再读出来
# 如果必有必要,不要启动java虚拟机,采用matlab -nojvm启动 (在快捷方式属性里面的 "..../matlab.exe") 改为("...../matlab.exe" - nojvm)
#关闭Matlab Server
# 使用 单精度 single 短整数替代 双精度。
现在看来这些解决方法对于我的问题来说根本就是“治标不治本”,不能解决实际问题,后来在一个师兄的提醒下Help out of memory,终于找到了解决此类问题的方法。在此感谢这位师兄啊!
重申――MatlabHelp才是Matlab的最权威的指导材料!!!
其实我的所谓原创就是对Help out of memory的一些归纳总结而已,有兴趣的话大家可以自己去看!!!
问题一:Matlab是如何存储矩阵的
Matlab中矩阵是以Block,也就是块的形式存储的。也就是说,当Matlab在为即将存储的矩阵划分块时,如果没有相应大小的连续内存,即使实际内存没有被完全使用,他还是会报告“Out of Memory”。
问题二:如何高效使用Memory
由于在使用的过程中,由于存储单元的不断的被分配和清除,内存会被分割成不连续的区域,这是很容易造成“Out of Memory”。
1.
为矩阵变量预制内存而不是动态分配
在动态分配的过程中,由于开始Matlab所用的Block随着矩阵的增大而连续的为此矩阵分配内存,但是由于Block的不连续性,很有可能最开始分配的Block不能满足存储的需要,Matlab只好移动此Block以找到更大的Block来存储,这样在移动的过程中不但占用了大量的时间,而且很有可能它找不到更大的块,导致Out of Memory。而当你为矩阵变量预制内存时,Matlab会在计算开始前一次性找到最合适的Block,此时就不用为变量连续的分配内存。
比较下面两个程序:
for k = 2:1000
x(k) = x(k-1) + 5;
end
x = zeros(1, 1000);
for k = 2:1000
x(k) = x(k-1) + 5;
end
显然,第二个更好!!!最好的方法是,在程序一开始就位所有大的矩阵变量预制存存储单元!!!
Note:转自http://www.ilovematlab.cn/thread-19609-1-1.html
http://www.ilovematlab.cn/thread-19610-1-1.html
「经管之家」APP:经管人学习、答疑、交友,就上经管之家!
免流量费下载资料----在经管之家app可以下载论坛上的所有资源,并且不额外收取下载高峰期的论坛币。
涵盖所有经管领域的优秀内容----覆盖经济、管理、金融投资、计量统计、数据分析、国贸、财会等专业的学习宝库,各类资料应有尽有。
来自五湖四海的经管达人----已经有上千万的经管人来到这里,你可以找到任何学科方向、有共同话题的朋友。
经管之家(原人大经济论坛),跨越高校的围墙,带你走进经管知识的新世界。
扫描下方二维码下载并注册APP
本文关键词:

本文论坛网址:https://bbs.pinggu.org/thread-1076240-1-1.html

人气文章

1.凡人大经济论坛-经管之家转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。