MATLAB: How to preallocate tables using the table-function??

MATLABpreallocatetabletable-functionversion problem

Hi Guys,
according to the Matlab documentation for the 'table' function, it should be possible to preallocate tables using the following syntax:
T = table('Size',sz,'VariableTypes',varTypes)
Does anyone know which version of Matlab is required to use this syntax?
When I'm trying to use it, either in Matlab R2015a or R2016b, I'm getting the following error message.
t = table('Size', [2 2], 'VariableTypes', {'double', 'string'})
Error using table (line 281)
Invalid parameter name: Size.
Caused by:
You may have intended to create a table with one row from one or more variables that are character strings. Consider using cell arrays of strings rather
than character arrays. Alternatively, create a cell array with one row, and convert that to a table using CELL2TABLE.

Best Answer

That syntax requires MATLAB R2018a. In most situations there is no need to pre-allocate a table. Just construct it from efficiently created columns of data. If we knew more about where your data was coming from we might suggest alternative allocation/creation methods.

Pre-allocation of complex MATLAB structures and objects causes much confusion and is often not needed. Pre-allocate simple things (like numeric matrices or the top level of a cell array structure). Compound objects contain any number of individual contiguous simple data structures and do not need pre-allocation in general.

Read this answer discussing object pre-allocation for way to much (most of it good and correct) information on pre-allocation.