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

조회 수: 14 (최근 30일)
"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)'
  댓글 수: 2
the cyclist
the cyclist 2017년 4월 18일
I've formatted your code for you. Next time, please use the "{}Code" button.
James Long
James Long 2017년 4월 18일
the cyclist: Sorry about that. Brand new to MATLAB and these forums.

댓글을 달려면 로그인하십시오.

채택된 답변

Aniruddha Katre
Aniruddha Katre 2017년 4월 18일
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
James Long
James Long 2017년 4월 18일
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!

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by