"Harry Commin" <email@example.com> wrote in message news:firstname.lastname@example.org... >> The following code uses the for-loop method I mentioned earlier ... it >> will save you memory space, but at the cost of slower execution than with >> the use of the 'kron' function. > > Yes, using multiple loops was actually my starting point, but then I > removed the loops in an attempt to speed up execution. This worked pretty > well for modestly-sized matrices (allowing execution to finish within a > day or two). However, I've hit a wall with this slightly larger data size > in that I now run out of memory. > > I suppose a brute-force approach would be to get my hands on a 64-bit > architecture. Or I could try keeping "some" loops and not others... but > it's difficult to identify a good trade-off.
Those are two options, but first I recommend that you answer Roger's "real question":
"Roger Stafford" wrote: > > Perhaps the real question to ask is what you intend to do with these > > final matrices if you have a number of them to generate. You won't have > > enough memory to store more than a very few at any one time. Perhaps > > there is some shortcut in achieving this purpose that can be > > accomplished without creating these huge matrices.
This group has readers and posters with experience in many different application areas. One of them may recognize your description of your goal as a common problem in their application area and suggest an algorithm or function that avoids having to create such matrices altogether.
If not, switching to a 64-bit OS and 64-bit MATLAB or even to a parallel computing cluster using Parallel Computing Toolbox and MATLAB Distributed Computing Server are other potential options.