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型,有没有高手... 用图中的程序编译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,解决了这一问题
展开
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网络时,内存溢出,没有办法。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询