Requested array exceeds maximum array size preference

4 views (last 30 days)
Hi,
I have a large character array (x). When I try to extract a subset of the array, I get the following error:
"Requested 2149888950x1 (16.0GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information."
But, the new array that I am trying to create is much, much smaller than the existing array! Any idea what's going on?
thanks!
>> whos x
Name Size Bytes Class Attributes
x 1x2544156856 5088313712 char
>> ind
ind =
2149888951
>> x(ind)
ans =
1
>> x(ind+1)
ans =
4
>> x(ind:ind+1)
Requested 2149888950x1 (16.0GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.
>> x2=x'; x2(ind:ind+1)
Requested 2149888950x1 (16.0GB) array exceeds maximum array size preference. Creation of arrays greater than this limit may take a long time and cause MATLAB to become unresponsive. See array size limit or preference panel for more information.

Answers (1)

Francis Plamondon
Francis Plamondon on 10 Dec 2019
Edited: Francis Plamondon on 10 Dec 2019
Where is this x variable coming from?
Maybe you could try
T=tall(x);
y=T(ind:ind+1);
gather(y)
  1 Comment
Jack
Jack on 10 Dec 2019
1. x is a character array from a text file. I am searching the text file for specific character sequences.
fid=fopen(mytextfile);
x=fscanf(fid,'%c');
fclose(fid);
2. Tall didn't seem to work
Error using tall
Could not create a mapreduce execution environment from the default parallel cluster.
Error in:
T=tall(x);

Sign in to comment.

Categories

Find more on Data Import and Export in Help Center and File Exchange

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!