"T.Propert​ies.Variab​leNames" will not allow me to include parentheses () or brackets [ ] in my column heading

13 views (last 30 days)
"T.Properties.VariableUnits" and "T.Properties.VariableDescriptions" also do not work to fix this issue. does anyone have a work around for this?
Here is my actual code:
%Constant Values
A=1; %VOLTS
b0=1; %DIMENSIONLESS
r=0.75; %DIMENSIONLESS
xn=ones(1,41); %Input Sequence as a matrix equal to the Unit-Step Sequence in VOLTS (always 1)
n=[0:1:40]; %Value of "n" ranges from 0 to 40 and are in 1 unit increments
%Impulse response of a 2nd-Order Infinite Impulse Response (IIR) Filter
hn=b0*(-r).^n.*(n+1); %Creates a matrix of values from h[0], h[1], h[2],...,h[n-1],[n]
%Cumulatively sums the values of h[n] which yields the Output Sequence "y[n]"
yn=cumsum(hn);
N=n(:); %Transforms matrix of values of "n" into a single column
XN=xn(:); %Transforms matrix of values of "xn" into a single column
HN=hn(:); %Transforms matrix of values of "h[n]" into a single column
YN=yn(:); %Transforms matrix of values of "y[n]" into a single column
T = table(N, XN, HN, YN) %Outputs a table with the values of "n," the input sequence "x[n],"
%the 2nd-Order (IIR) filter "h[n]," and the output sequence "y[n]."
%T.Properties.VariableNames = {'n' 'x[n] (V)' 'h[n]' 'y[n] (V)'}
T.Properties.VariableNames{2} = 'x[n] (V)'

Accepted Answer

Aniruddha Katre
Aniruddha Katre on 18 Apr 2017
You get this error message because 'x[n] (V)' is not a valid MATLAB variable name. The columns in a table are actually MATLAB variables, so the column header must be a valid variable name. There are 3 rules for a valid variable name that need to be followed:
  1. Can only have letters, number and underscores in a variable name. Nothing else is allowed.
  2. Variable names have to start with a letter.
  3. Variable names can be up to 63 characters long.
'x[n] (V)' -- starts with a letter but has special characters such as brackets, specs and parenthesis in it which makes it an invalid variable name.
If you replace that with:
T.Properties.VariableNames{2} = 'x_n_V'
or something along those lines, that will work.
  1 Comment
James Long
James Long on 18 Apr 2017
Aniruddha, thank you. I ended up exporting the data to an excel spreadsheet and there were no more issues. I appreciate the information on the constraints of Variable Names..will definitely assist in the future!

Sign in to comment.

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!