MATLAB: Choose numerical type for table2array output

MATLABtabletable2array

Is there any one-command way to convert a table that holds different numeric types variables and decide the precision of the final array?
In this small example, with one double and one uint8 variable, the final array is uint8, and I want it to be double (so I do not lose information in the variable with 1000s)
T=table;
T.var1=ones(10,1,'uint8');
T.var2=1000*ones(10,1,'double');
array=table2array(T)

Best Answer

Seomthing like this
T=table;
T.var1=ones(10,1,'uint8');
T.var2=1000*ones(10,1,'double');
array = structfun(@double, table2struct(T, 'ToScalar', true), 'uni', 0);
array = struct2array(array);