星星和月亮 发表于 2009-7-26 16:47

请教关于matlab的memory的问题,谢谢啦

如果编程过程中一个变量的值太大了,out of memory了,该怎么办啊?例如,将一个数组的所有排列组合放入另一个变量中,但是程序运行时显示出错。out=

谢谢先啦~~~~~~~~~~~~~~~~~ {:5_369:}

江南织造 发表于 2009-7-26 16:53

本帖最后由 江南织造 于 2009-7-26 18:14 编辑

1.如果是java.lang.OutOfMemoryError
修改JAVA虚拟机的内存
请看这个
http://hi.baidu.com/zgyz/blog/item/fedb53f073cbfacb7831aaff.html

2.如果运行过程中OutOfMemory, 可增加虚拟内存

ElberEis 发表于 2009-7-27 07:57

干嘛一定要用ones呢? choicevec(i)+1 不就行了? 用ones不是白白占用内存么?
还有, 如果matirx比较稀疏的话, 建议直接上sparse matrix. 极端节省内存

星星和月亮 发表于 2009-7-27 11:45

1.如果是java.lang.OutOfMemoryError
修改JAVA虚拟机的内存
请看这个
http://hi.baidu.com/zgyz/blog/item/fedb53f073cbfacb7831aaff.html

2.如果运行过程中OutOfMemory, 可增加虚拟内存
江南织造 发表于 2009-7-26 17:53 http://www.dolc.de/forum/images/common/back.gif


谢谢啦,偶重新试了一下,用了3G switche,但是还是不行啊。报错说是: error using => vertcat   out of memory   

哎~~~~~~~~~~~~~~~~ {:4_284:}

星星和月亮 发表于 2009-7-27 11:49

干嘛一定要用ones呢? choicevec(i)+1 不就行了? 用ones不是白白占用内存么?
还有, 如果matirx比较稀疏的话, 建议直接上sparse matrix. 极端节省内存
ElberEis 发表于 2009-7-27 08:57 http://www.dolc.de/forum/images/common/back.gif


8好意思,能不能麻烦说详细点啊,偶是菜鸟,不是很懂啊~~~~~~~~~~~ {:4_302:}这个其实是报错信息里面的,说是 error using => vertcat out of memory   out= 偶实在是8太明白这个到底是什么意思。谢谢啦~~~~~~~~~~~ {:4_298:}

江南织造 发表于 2009-7-27 19:33




8好意思,能不能麻烦说详细点啊,偶是菜鸟,不是很懂啊~~~~~~~~~~~ {:4_302:}这个其实是报错信息里面的,说是 error using => vertcat out of memory   out=[out; choicevec(i)+ones(size(tempout,1),1) tem ...
星星和月亮 发表于 2009-7-27 12:49 http://www.dolc.de/forum/images/common/back.gif

你是想 choicevec(i) 每个数值都加一吧
直接 choicevec(i)+1, 和你这个choicevec(i)+ones(size(tempout,1),1)效果是等同的

星星和月亮 发表于 2009-7-27 22:17



你是想 choicevec(i) 每个数值都加一吧
直接 choicevec(i)+1, 和你这个choicevec(i)+ones(size(tempout,1),1)效果是等同的
江南织造 发表于 2009-7-27 20:33 http://www.dolc.de/forum/images/common/back.gif

我其实是有一串数组,然后求他们不同的组合排列,但是这个数组有29个元素,然后从中取12个进行排列组合,运行了很长很长很长时间以后就告诉我out of memory。然后我又尝试了3G开关,也不行啊~~~~~~~~~ 我原程序里面没有用过choicevec(i),我用的是combntns(t, a)。那个choicevec(i)是报错信息里面出来的,我也不明白是怎么回事啊~~~~~~~~~~ {:4_292:}

江南织造 发表于 2009-7-27 22:27



我其实是有一串数组,然后求他们不同的组合排列,但是这个数组有29个元素,然后从中取12个进行排列组合,运行了很长很长很长时间以后就告诉我out of memory。然后我又尝试了3G开关,也不行啊~~~~~~~~~ 我原程序里 ...
星星和月亮 发表于 2009-7-27 23:17 http://www.dolc.de/forum/images/common/back.gif

汗一个, 29取12的排列组合..............确实有点大{:5_371:}, 10的24还是23次方个数据{:4_297:}

星星和月亮 发表于 2009-7-28 00:09



汗一个, 29取12的排列组合..............确实有点大{:5_371:}, 10的24还是23次方个数据{:4_297:}
江南织造 发表于 2009-7-27 23:27 http://www.dolc.de/forum/images/common/back.gif


对啊,所以我到现在也没想出来怎么解决这个问题啊~~~~~~~~~~~~~~~~~~ {:4_284:}

ElberEis 发表于 2009-7-28 10:39

这样讨论没效率.
你把你的代码当中造成内存溢出的那一部分贴上来看看
页: [1] 2 3
查看完整版本: 请教关于matlab的memory的问题,谢谢啦