Requested array exceeds maximum array size preference

5 次查看(过去 30 天)
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.

回答(1 个)

Francis Plamondon
Francis Plamondon 2019-12-10
编辑:Francis Plamondon 2019-12-10
Where is this x variable coming from?
Maybe you could try
T=tall(x);
y=T(ind:ind+1);
gather(y)
  1 个评论
Jack
Jack 2019-12-10
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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Data Import and Export 的更多信息

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by