Can I create a matrix of size 10000X10000?

I am in a situaion to deal with a matix of size 10000X10000. But MATLAB gives me "not enough memory " warning.
Is there any way to escape?
Can i do it in distibuted version of MATLAB?

Respuestas (5)

Sean de Wolski
Sean de Wolski el 2 de Mzo. de 2011

1 voto

Yes it's possible, I do it all of the time. You could get a 64bit version of MATLAB. Or you could use 'single' instead of 'double' so you consume half as much memory.
the cyclist
the cyclist el 2 de Mzo. de 2011

1 voto

It's difficult to answer your question without more detail about your system, but this link contains lots of useful info that will likely be relevant to you:
Oleg Komarov
Oleg Komarov el 2 de Mzo. de 2011
10 000 * 10 000 * (8 bytes) ~ 763 megabytes
Type:
feature memstats
If the largest contiguous block is bigger than 763 megabytes then it is possible.
Oleg

1 comentario

Walter Roberson
Walter Roberson el 2 de Mzo. de 2011
Note: feature memstats is not available on all operating systems.

Iniciar sesión para comentar.

Walter Roberson
Walter Roberson el 2 de Mzo. de 2011

0 votos

Possibly in your situation you could use sparse matrices.
It might be possible to distribute your matrix between several matlab processes, but it would depend upon how you use it. Most of the tools in the Parallel Processing Toolkit would expect the entire array to fit in one process. There are some things you can do to use local arrays, but the situations in which those apply are generally situations in which you could reformulate your problem to operate sequentially on pieces of the array in a single process.
Walter Roberson
Walter Roberson el 3 de Mzo. de 2011

0 votos

Depending upon what you are trying to do, possibly a technique I outlined in answer to someone else's question would be of assistance: see here

Etiquetas

Preguntada:

el 2 de Mzo. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by