Any way how to go around the memory issue?

1 回表示 (過去 30 日間)
Anshuman S
Anshuman S 2021 年 8 月 1 日
回答済み: Matt J 2021 年 8 月 1 日
I am running a program with the following code
ntimemax=10000000; ngroupmax=300; dtime=0.0001; qmax1 = 10.2;
% define output interval and number of output data
doutput=1; noutput=(ntimemax-1)/doutput+1;
NMG2=zeros(noutput,ngroupmax);
NGT2=zeros(noutput,1); NMGT2=zeros(noutput,1); Num2 = zeros(noutput,1);
ntime=zeros(noutput,1); NG=zeros(noutput,ngroupmax); NMG=zeros(noutput,ngroupmax);
NGT=zeros(noutput,1); NMGT=zeros(noutput,1);
And this error shows up:
Out of memory. Type "help memory" for your options.
Error in new_2020_paper_results (line 38)
ntime=zeros(noutput,1); NG=zeros(noutput,ngroupmax);
NMG=zeros(noutput,ngroupmax);
Any way t solve this problem?
  1 件のコメント
Chunru
Chunru 2021 年 8 月 1 日
ntimemax=10000000; ngroupmax=300; dtime=0.0001; qmax1 = 10.2;
doutput=1; noutput=(ntimemax-1)/doutput+1;
% The size of NMG2=zeros(noutput,ngroupmax);
noutput * ngroupmax
ans = 3.0000e+09
A single matrix of this need 3G*8(bytes per data)=24GB of memory. You have a number of such data array. That requires a lot of memory. Try to reduce the size of the array to what is absolutely necessary.

サインインしてコメントする。

回答 (1 件)

Matt J
Matt J 2021 年 8 月 1 日
Will the matrices be sparse? If so, use sparse() to build them.

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

タグ


Translated by