Documentation

This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Functions That Support Tall Arrays (A–Z)

This page lists the MATLAB® functions that work with tall arrays, organized alphabetically.

Most core functions work the same way with tall arrays as they do with in-memory arrays. However, in some cases the way that a function works with tall arrays is special or has limitations. Other than the limitations listed on this page, tall arrays fully support all syntaxes of the listed functions.

FunctionNotes or Limitations
abs 
acos 
acosd 
acosh 
acot 
acotd 
acoth 
acsc 
acscd 
acsch 
addcats 
all 
and 
angle 
any 
array2table

The 'RowNames' name-value pair is not supported.

array2timetable 
arrayfun
  • The specified function must not rely on persistent variables.

  • The 'ErrorHandler' name-value pair is not supported.

  • With the 'UniformOutput' name-value pair set to true (default), the outputs from the specified function must be numeric, logical, characters, or cell arrays.

asec 
asecd 
asech 
asin 
asind 
asinh 
atan 
atan2 
atan2d 
atand 
atanh 
besselh 
besseli 
besselj 
besselk 
bessely 
beta 
betainc 
betaincinv 
betaln 
between 
binscatter

With tall arrays, the binscatter function plots in iterations, progressively adding to the plot as more data is read. During the updates, a progress indicator shows the proportion of data that has been plotted. Zooming and panning is supported during the update process, before the plot is complete. To stop the update process, press the pause button in the progress indicator.

bounds 
bsxfun

The specified function must not rely on persistent variables.

caldays 
caldiff
  • The dim input must be specified. Use caldiff(t,'',dim) to use the default components.

calendarDuration 
calmonths 
calquarters 
calweeks 
calyears 
cart2pol 
cart2sph 
cat

  • Vertical concatenation of character arrays is not supported.

  • Concatenation in any dimension other than 1 requires all input arguments to be tall arrays.

categorical

With the syntax B = categorical(A), the order of categories is undefined. Use valueset and catnames to enforce the order.

categories 
ceil 
cell2mat 
cellfun
  • The input function must be a function handle.

  • The input function must not rely on persistent variables.

  • The 'ErrorHandler' name-value pair is not supported.

  • With the 'UniformOutput' name-value pair set to true (default), the outputs from the specified function must be numeric, logical, characters, or cell arrays.

cellstr 
char
  • For the syntax C = char(A), the input A must be a tall numeric column vector.

  • Syntaxes with more than one input are not supported.

classUnderlying 
complex 
compose

The format input must be a non-tall string.

conj 
contains 
conv
  • The inputs A and B must be column vectors.

  • B cannot be a tall array.

cos 
cosd 
cosh 
cot 
cotd 
coth 
count 
countcats 
cov
  • For the syntax C = cov(X,Y), the inputs X and Y must have the same size, even if they are vectors.

  • The option 'partialrows' is not supported.

csc 
cscd 
csch 
cummax

The 'reverse' direction is not supported.

cummin
cumprod
cumsum
datenum 
dateshift 
datestr
  • The first argument must be a column vector or an array returned by datevec.

  • If the first argument is a datevec array, then the rows must be within the year range 1500:2499.

datetime
  • Always specify the input datetime format when creating a tall datetime array for character vectors in a cell array.

  • If you specify 'Format' as 'preserveinput', then MATLAB might need to evaluate the tall array to determine the format.

datevec 
day 
days 
deblank 
deg2rad 
diff

You must use the three-input syntax Y = diff(X,N,dim).

discretize 
disp 
display 
dot

For the syntax dot(A,B), the arrays A and B must have the same size, even if they are vectors.

double 
duration 
end 
endsWith 
eps 
eq 
erase 
eraseBetween 
erf 
erfc 
erfcinv 
erfcx 
erfinv 
exceltime 
exp 
expint 
expm1 
extractAfter 
extractBefore 
extractBetween

Expansion in the first dimension is not supported with tall arrays.

fillmissing
  • The 'spline' method is not supported.

  • The 'SamplePoints' name-value pair is not supported.

  • The 'DataVariables' name-value pair cannot specify a function handle.

  • The 'EndValues' name-value pair can only specify 'extrap'.

  • The syntax fillmissing(A,movmethod,window) is not supported when A is a tall timetable.

  • The syntax fillmissing(A,'constant',v) must specify a scalar value for v. Additionally, when A is a tall table or tall timetable, this syntax does not support character vector variables.

filloutliers
  • The 'grubs' and 'gesd' methods are not supported.

  • The 'movmedian' and 'movmean' methods do not support tall timetables.

  • The 'SamplePoints' and 'MaxNumOutliers' name-value pairs are not supported.

  • The value of 'DataVariables' cannot be a function handle.

  • Computation of filloutliers(A,fillmethod), filloutliers(A,fillmethod,'median',…) or filloutliers(A,fillmethod,'quartiles',…) along the first dimension is only supported when A is a tall column vector.

  • The syntax filloutliers(A,'spline',…) is not supported.

filter

The two-output syntax [y,zf] = filter(___) is not supported when dim > 1.

find
  • X must be a tall column vector.

findgroups
  • Tall tables are not supported.

  • The order of the group numbers in G might be different compared to in-memory findgroups calculations.

fix 
flip
  • If specified, the dim argument must be greater than 1.

flipdim
  • If specified, the dim argument must be greater than 1.

fliplr 
floor 
gamma 
gammainc 
gammaincinv 
gammaln 
gather 
ge 
gt 
head

You can use head and tail with tall arrays of any valid underlying data type (single, double, int8, datetime, table, and so on).

height 
histcounts
  • Some input options are not supported. The allowed options are:

    • 'BinWidth'

    • 'BinLimits'

    • 'Normalization'

    • 'BinMethod' — The 'auto' and 'scott' bin methods are the same. The 'fd' bin method is not supported.

histogram
  • Some input options are not supported. The allowed options are:

    • 'BinWidth'

    • 'BinLimits'

    • 'Normalization'

    • 'DisplayStyle'

    • 'BinMethod' — The 'auto' and 'scott' bin methods are the same. The 'fd' bin method is not supported.

    • 'EdgeAlpha'

    • 'EdgeColor'

    • 'FaceAlpha'

    • 'FaceColor'

    • 'LineStyle'

    • 'LineWidth'

    • 'Orientation'

  • Additionally, there is a cap on the maximum number of bars. The default maximum is 100.

  • The morebins and fewerbins methods are not supported.

  • Editing properties of the histogram object that require recomputing the bins is not supported.

histogram2
  • Some input options are not supported. The allowed options are:

    • 'BinWidth'

    • 'XBinLimits'

    • 'YBinLimits'

    • 'Normalization'

    • 'DisplayStyle'

    • 'BinMethod' — The 'auto' and 'scott' bin methods are the same. The 'fd' bin method is not supported.

    • 'EdgeAlpha'

    • 'EdgeColor'

    • 'FaceAlpha'

    • 'FaceColor'

    • 'LineStyle'

    • 'LineWidth'

    • 'Orientation'

  • Additionally, there is a cap on the maximum number of bars. The default maximum is 100.

  • The morebins and fewerbins methods are not supported.

  • Editing properties of the histogram object that require recomputing the bins is not supported.

hms 
horzcat 
hour 
hours 
hypot 
idivide 
im2double 
imag 
ind2sub 
innerjoin
  • You cannot join two tall inputs. innerjoin can join together:

    • A tall table with a regular table.

    • A tall timetable with a regular table or timetable.

  • You must specify one output argument. The three-output syntax [C,ia,ib] = innerjoin(___) is not supported.

insertAfter 
insertBefore 
int16 
int32 
int64 
int8 
ipermute

Permuting the tall dimension (dimension one) is not supported.

isaUnderlying 
isbetween

Tall character vector inputs are not supported.

iscategory 
iscolumn 
isdst 
isempty 
isfinite 
isinf 
ismatrix 
ismember

Only one of A or B can be a tall array.

ismissing 
isnan 
isnat 
isordinal 
isoutlier
  • The 'grubbs' and 'gesd' methods are not supported.

  • The 'movmedian' and 'movmean' methods do not support tall timetables.

  • The 'SamplePoints' and 'MaxNumOutliers' name-value pairs are not supported.

  • The value of 'DataVariables' cannot be a function handle.

  • Computation of isoutlier(A), isoutlier(A,'median',...), or isoutlier(A,'quartiles',...) along the first dimension is only supported for tall column vectors A.

isprotected 
isrow 
isscalar 
issorted 
issortedrows 
istall 
isundefined 
isvector 
isweekend 
join (string) 
join (table)
  • You cannot join two tall inputs. join can join together:

    • A tall table with a regular table.

    • A tall timetable with a regular table or timetable.

  • The two-output syntax [C,iB] = join(...) is not supported.

juliandate 
ldivide 
le 
length 
log 
log10 
log1p 
log2 
logical 
lower 
lt 
max

The two-output syntax [Y,I] = max(...) is not supported.

maxk 
mean

Tall datetime arrays are not supported.

median

Input A must be a column vector to compute median in the first dimension.

mergecats 
milliseconds 
min

The two-output syntax [Y,I] = min(...) is not supported.

mink 
minus 
minute 
minutes 
mldivide

For the syntax Z = X\Y, the array X must be a scalar or a tall matrix with the same number of rows as Y.

mod 
month 
movmad

The 'SamplePoints' name-value pair is not supported.

movmax
movmean
movmedian
movmin
movprod
movstd
movsum
movvar
mrdivide

For the syntax Z = X/Y, the Y operand must be a scalar.

mtimes
  • For A*B where A and B are both tall arrays, one of them must be a scalar.

  • For A'*B, both A and B must be tall vectors or matrices with a common size in the first dimension.

ndims 
ne 
nextpow2 
nnz 
norm 
not 
nthroot 
numel 
or 
pad

If you do not specify width, then a full pass through the data is required to determine it.

permute

Permuting the tall dimension (dimension one) is not supported.

pie

X must be a tall categorical array.

plot
  • Supported syntaxes for tall arrays X and Y are:

    • plot(X,Y)

    • plot(Y)

    • plot(___,LineSpec)

    • plot(___,Name,Value)

    • plot(ax,___)

  • X must be in monotonically increasing order.

  • Categorical inputs are not supported.

  • With tall arrays, the plot function plots in iterations, progressively adding to the plot as more data is read. During the updates, a progress indicator shows the proportion of data that has been plotted. Zooming and panning is supported during the updating process, before the plot is complete. To stop the update process, press the pause button in the progress indicator.

plus 
pol2cart 
polyfit

X and Y must be column vectors.

polyval

If x is a tall array, then it must be a column vector.

posixtime 
pow2 
power 
prod 
psi

For the syntax Y = psi(k,X), k must be a non-tall scalar.

quarter 
rad2deg 
rdivide 
real 
reallog 
realpow 
realsqrt 
regexprep 
rem 
removecats 
renamecats 
reordercats 
repelem
  • The two-input syntax is not supported.

  • The replication factor in the first dimension must be 1. For example, repelem(TA,1,n,p,...).

replace 
replaceBetween 
repmat

The replication factor in the first dimension must be 1. For example, repmat(TA,1,n,p,...).

rescale
  • The inputs l and u, and the value of the name-value pairs 'InputMin' and 'InputMax', cannot have more than one row.

reshape

Reshaping the tall dimension (dimension one) is not supported. The first dimension input should always be empty, such as reshape(X,[],M,N,...).

retime
  • Nearest neighbor and interpolation methods are not supported.

  • The 'EndValues' name-value pair is not supported.

reverse 
rmmissing
  • The 'DataVariables' name-value pair cannot specify a function handle.

  • rmmissing(A,2) is not supported for tall tables.

round 
scatter
  • Supported syntaxes for tall arrays X and Y are:

    • scatter(X,Y)

    • scatter(X,Y,sz)

    • scatter(X,Y,sz,c)

    • scatter(___,'filled')

    • scatter(___,mkr)

    • scatter(___,Name,Value)

    • scatter(ax,___)

  • sz must be scalar or empty [].

  • c must be scalar or an RGB triplet.

  • Categorical inputs are not supported.

  • With tall arrays, the scatter function plots in iterations, progressively adding to the plot as more data is read. During the updates, a progress indicator shows the proportion of data that has been plotted. Zooming and panning is supported during the updating process, before the plot is complete. To stop the update process, press the pause button in the progress indicator.

sec 
secd 
sech 
second 
seconds 
setcats 
sign 
sin 
sind 
single 
sinh 
size 
smoothdata
  • Tall timetables are not supported.

  • The 'rlowess' and 'rloess' methods are not supported.

  • Multiple outputs are not supported.

  • You must specify the window size. Automatic selection of the window size is not supported.

  • The 'SamplePoints' and 'SmoothingFactor' name-value pairs are not supported.

  • The value of 'DataVariables' cannot be a function handle.

sort
  • Multiple outputs are not supported.

  • You must specify the dimension to sort, as in sort(X,dim).

  • Sorting the tall dimension, as in sort(X,1), is only supported for column vectors.

sortrows
  • For tall arrays, valid syntaxes are:

    • Y = sortrows(X)

    • Y = sortrows(X,col)

    • Y = sortrows(X,direction)

    • Y = sortrows(___,Name,Value)

  • For tall tables and tall timetables, valid syntaxes are:

    • Y = sortrows(T,vars)

    • Y = sortrows(T,vars,direction)

  • Multiple outputs are not supported.

sph2cart 
split (calendar duration) 
split (string) 
splitapply

The specified function must not rely on any state, such as persistent variables or random number functions like rand.

splitlines 
sqrt 
squeeze 
stack

The two-output syntax [S,iu] = stack(...) is not supported.

standardizeMissing 
startsWith 
std

The weighting scheme cannot be a vector.

str2double 
strcmp 
strcmpi 
strfind
  • The text input must be a tall array of strings or a tall cell array of character vectors.

  • The text pattern must be a non-tall single string.

  • The output is a cell array of index vectors, with one element per input string.

string 
strip 
strlength 
strncmp 
strncmpi 
strrep
  • The original string must be a tall array of strings or a tall cell array of character vectors.

  • The old string and new string inputs can be single strings or tall arrays of strings with the same size.

strtrim 
sub2ind 
sum 
summary

Some fields in the summary can be impossible to calculate in a reasonable amount of time, such as the median.

swapbytes 
synchronize
  • The newTimes input must be strictly increasing instead of strictly monotonic.

  • The 'commonrange' option for the newTimeBasis input is not supported.

  • The 'spline' interpolation method is not supported.

  • The 'EndValues' name-value pair is not supported.

table

  • The syntax TT = table(T1,T2,...) constructs a tall table from several tall arrays (T1,T2,...). You can use the 'VariableNames' name-value pair argument to specify variable names.

table2array 
table2cell 
table2timetable 
tail

You can use head and tail with tall arrays of any valid underlying data type (single, double, int8, datetime, table, and so on).

tan 
tand 
tanh 
time 
timeofday 
times 
timetable
  • Creation. There are several ways to create a tall timetable:

    1. Convert an existing tall table using table2timetable.

      ds = datastore('data/folder/path.csv');
      tt = tall(ds);
      TT = table2timetable(tt);
      The default behavior is to use the first datetime or duration variable in the tall table tt for the row times. To specify the row times yourself, use the 'RowTimes' name-value pair to specify either a tall datetime or a tall duration vector of row times.

      TT = table2timetable(tt,'RowTimes',rowTimes)
    2. Convert an existing tall array using array2timetable.

    3. Manually construct a tall timetable from the variables in a tall table using the timetable constructor.

      ds = datastore('data/folder/path.csv');
      tt = tall(ds);
      TT = timetable(rowTimes, tt.Var1, tt.Var2, ...)

    4. Convert an in-memory timetable into a tall timetable using the syntax TT = tall(tt).

  • Indexing. The timerange and withtol functions are supported for indexing into tall timetables. The vartype function is not supported.

  • Supported Functions. These functions support tall timetables.

timetable2table 
topkrows
  • Multiple outputs are not supported.

  • The 'ComparisonMethod' name-value pair is not supported.

  • The 'RowNames' option for tables is not supported.

tzoffset 
uint16 
uint32 
uint64 
uint8 
uminus 
unique
  • Use the syntax C = unique(A) for tall vectors and tall tables, or C = unique(A,'rows') for tall matrices.

  • Multiple outputs are not supported.

uplus 
upper 
var

The weighting scheme cannot be a vector.

varfun
  • The func input must always return a tall array.

  • Supported name-value pairs are:

    • 'InputVariables' — Cannot be specified as a function handle.

    • 'OutputFormat' — Value can be 'uniform', 'table', 'timetable', or 'cell' only.

  • When the input array is a tall timetable and 'OutputFormat' is 'timetable', the specified function must return an array with the same size in the first dimension as the input. Specify 'OutputFormat' as 'table' when the input function is a reduction function such as mean.

vertcat

  • Vertical concatenation of character arrays is not supported.

week 
width 
write 
xor 
year 
years 
ymd 
yyyymmdd 

Statistics and Machine Learning Toolbox Functions

If you have Statistics and Machine Learning Toolbox™, then there are additional functions available for working with tall arrays. For example, you can use grpstats to calculate grouped statistics, kmeans to perform k-means clustering, fitlm to fit linear regression models, or fitcdiscr to fit a discriminant analysis classifier. For more information, see Tall Array Support, Usage Notes, and Limitations (Statistics and Machine Learning Toolbox).

Related Topics

Was this topic helpful?