Working With Very Large Array

5 visualizzazioni (ultimi 30 giorni)
Heather Procter
Heather Procter il 13 Nov 2015
Commentato: Walter Roberson il 13 Nov 2015
For my work I need to create and work with very large arrays of data (on the order of 1,000*400,000) to simulate many simultaneous random walks. I was wondering what would be the best way to go about this, as I run out of memory before I even get close to creating an array of that size.
Obviously I'll need to write it to the disk in some way. I essentially need to create the array one row at a time, creating the next row from the previous one.
  1 Commento
Walter Roberson
Walter Roberson il 13 Nov 2015
Those arrays are not quite 4 gigabytes each, even if you use double precision (which might not be necessary for your purpose.) Make sure you use a 64 bit MATLAB and at least 2 gigabytes of RAM plus 4 gigabytes per array of that size that needs to exist simultaneously.

Accedi per commentare.

Risposta accettata

Adam
Adam il 13 Nov 2015
Try looking into using a matfile
doc matfile
It allows you to work with a large data set from file rather than from memory. Access is slower, of course, but not massively so, especially for the first index of the array. It gets slower for accessing subsequent dimensions (or at least it did last time I tested it which was a little while ago).

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by