Can I create a matrix of size 10000X10000?

5 views (last 30 days)
la ma
la ma on 2 Mar 2011
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?

Answers (5)

Sean de Wolski
Sean de Wolski on 2 Mar 2011
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 on 2 Mar 2011
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 on 2 Mar 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 Comment
Walter Roberson
Walter Roberson on 2 Mar 2011
Note: feature memstats is not available on all operating systems.

Sign in to comment.


Walter Roberson
Walter Roberson on 2 Mar 2011
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 on 3 Mar 2011
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

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!