C#与matlab混合编程,调用dll文件时出现out of memory等一些问题,求高手帮忙
用图中的程序编译dll文件,对于第10行一直出现outofmemory的问题,7个输入参数维度分别为856*856;1172*856;856*1;856*1;856*1;...
用图中的程序编译dll文件,对于第10行一直出现out of memory的问题,7个输入参数维度分别为856*856;1172*856;856*1;856*1;856*1;1172*1;1。试了很多网上的方法,改 JAVA HEAP MEMORY不行,不能修改数据类型,因为linprog要求输入为double型,有没有高手能解决out of memory或者优化一下这代码,另外单独使用matlab运行不会报错,C#调用时就会out of memory。
自己给自己回答,希望可以帮到后来的人,这可能是matlab自带求解线性规划的缺陷吧,后来采用了C#调用CPlex,解决了这一问题 展开
自己给自己回答,希望可以帮到后来的人,这可能是matlab自带求解线性规划的缺陷吧,后来采用了C#调用CPlex,解决了这一问题 展开
1个回答
展开全部
matlab可用内存有限,好像默认256M最多512M,超出的话就出错;不是混合编程的原因,直接在matlab也会出现这种错误。
这是网站上给的建议:
参考网站:http://www.mathworks.cn/cn/help/matlab/matlab_prog/resolving-out-of-memory-errors.html
Compress data to reduce memory fragmentation.
If possible, break large matrices into several smaller
matrices so that less memory is used at any one time.
If possible, reduce the size of your data.
Make sure that there are no external
constraints on the memory accessible to MATLAB. (On UNIX® systems,
use the limit command to check).
Increase the size of the swap file. We
recommend that you configure your system with twice as much swap space
as you have RAM. See Increasing System Swap Space, below.
Add more memory to the system.
关于楼主说 单独使用matlab运行不会报错,C#调用时就会out of memory。
是不是可以这样理解,调用matlab的C# 会比淡出用matlab消耗内存更大,把数据量减半试试吧。
我是在直接用matlab做BP网络时,内存溢出,没有办法。
这是网站上给的建议:
参考网站:http://www.mathworks.cn/cn/help/matlab/matlab_prog/resolving-out-of-memory-errors.html
Compress data to reduce memory fragmentation.
If possible, break large matrices into several smaller
matrices so that less memory is used at any one time.
If possible, reduce the size of your data.
Make sure that there are no external
constraints on the memory accessible to MATLAB. (On UNIX® systems,
use the limit command to check).
Increase the size of the swap file. We
recommend that you configure your system with twice as much swap space
as you have RAM. See Increasing System Swap Space, below.
Add more memory to the system.
关于楼主说 单独使用matlab运行不会报错,C#调用时就会out of memory。
是不是可以这样理解,调用matlab的C# 会比淡出用matlab消耗内存更大,把数据量减半试试吧。
我是在直接用matlab做BP网络时,内存溢出,没有办法。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询