Requested array exceeds maximum array size preference

8 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.

Products


Release

R2015b

Community Treasure Hunt

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

Start Hunting!