Any way how to go around the memory issue?

1 Ansicht (letzte 30 Tage)
Anshuman S
Anshuman S am 1 Aug. 2021
Beantwortet: Matt J am 1 Aug. 2021
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 Kommentar
Chunru
Chunru am 1 Aug. 2021
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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Matt J
Matt J am 1 Aug. 2021
Will the matrices be sparse? If so, use sparse() to build them.

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by