Path: news.mathworks.com!not-for-mail
From: <HIDDEN>
Newsgroups: comp.soft-sys.matlab
Subject: Memory limit workaround
Date: Sun, 8 Feb 2009 18:40:04 +0000 (UTC)
Organization: The MathWorks, Inc.
Lines: 23
Message-ID: <gmn8u4$dks$1@fred.mathworks.com>
Reply-To: <HIDDEN>
NNTP-Posting-Host: webapp-02-blr.mathworks.com
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 8bit
X-Trace: fred.mathworks.com 1234118404 13980 172.30.248.37 (8 Feb 2009 18:40:04 GMT)
X-Complaints-To: news@mathworks.com
NNTP-Posting-Date: Sun, 8 Feb 2009 18:40:04 +0000 (UTC)
X-Newsreader: MATLAB Central Newsreader 1268168
Xref: news.mathworks.com comp.soft-sys.matlab:516935


I have a 3GHz pentium 4 with 1GB of RAM and 1524MB of virtual memory. Even with this modest system, I am able to compose a 1x61276 character array in MATLAB. This array has 3 variables in combination with a variety of complex numbers cast into string-form. If I run eval( arg ), where arg is this huge array, I am supposed to obtain a 2x1 symbolic matrix. However, I get the following error message:

??? Error using ==> horzcat
Out of memory. Type HELP MEMORY for your options.

Error in ==> sym.sym>findrun at 536
d = diff([0 x 0]);

Error in ==> sym.sym>char2sym at 437
   [b,e] = findrun(sp); % Beginning (b) and end (e) indices.

Error in ==> sym.sym at 92
   S = char2sym(x);

Error in ==> sym.maple at 92
   result = sym(result);

Error in ==> sym.mtimes at 28
   X = maple(A,'&*',B);

I've already increased virtual memory and ran disk defragmenter. I've also cleared all workspace variables, except for the (sym) and (char) variables that are part of my expression, before calling eval(). At this point, I see no alternative other than buying more physical memory or trying to get hold of a super-computer! Maybe there is a workaround that I haven't tried yet. If so, please let me know. Thanks.

PS: I posted the 1x61276 character array here: http://people.rit.edu/tsj9205/