# MATLAB: Converting binary like table but using decimal values

dec2baselognMATLAB

I'm trying to create a table that will start at a negative value and increment by one in the right most column and each column to the left will only increment when there is a carry. This is similar to a binary table or any other base-n table, but I would like to keep the values in decimal format, not alpha-numeric.
I had this code which was working well, but fails if I make 'n' > 5 due to the alpha-numerics once the decimal value reaches '10'.
``m = 3;    %Number of signalsn = n+1;  %Number of harmonics%% Harmonic Basis MatrixT = zeros((2*n-1)^m,m);for k = 1:(2*n-1)^m    T(k,:) = dec2base(k-1,2*n-1,m)-num2str(n-1);end``
When I subtract num2str(n-1) from the string '00A', the result is double('00A') = 17 – double('0') = 5 ==> 17-5 = 12.
I thought about creating the matrix in alpha-numeric string form and just splitting the values into columns, but couldn't figure out how to do that effectively without using cells – which I need to avoid as this will be used in some matrix algebra.
Please note, that the variables 'm' and 'n' are part of a function input and could be completely arbitrary.
Thanks for the help!

``>> m = 4;>> C = cell(1,m);>> [C{:}] = ndgrid(-2:2);>> C = cellfun(@(a)a(:),C,'uni',0);>> T = [C{end:-1:1}]ans =  -2  -2  -2  -2  -2  -2  -2  -1  -2  -2  -2   0  -2  -2  -2   1  -2  -2  -2   2  -2  -2  -1  -2  -2  -2  -1  -1  -2  -2  -1   0  -2  -2  -1   1  -2  -2  -1   2  -2  -2   0  -2  -2  -2   0  -1  -2  -2   0   0  -2  -2   0   1  -2  -2   0   2... lots of lines here   2   2   1   1   2   2   1   2   2   2   2  -2   2   2   2  -1   2   2   2   0   2   2   2   1   2   2   2   2``