MATLAB Answers

Create a Table with column vectors

195 views (last 30 days)
oselu
oselu on 11 Aug 2014
Answered: Image Analyst on 11 Aug 2014
Hello I would like to create a table showing the power out put from a 0 to 200 volts column vector. In this table I would like to display:
  1. Power
  2. current
  3. voltsandI would like to name the table and each column.I tried to use the table function but it doesnt seem to workI am using matlab 7.10.0(R2010a)

  3 Comments

Adam
Adam on 11 Aug 2014
I guess it depends what you want to do with this table, but you are right that 'table' is not available in R2010a.
Can you not just use a standard matrix with the column headers stored in a cell array of length equal to the number of columns?
oselu
oselu on 11 Aug 2014
I tried to make a matrice with letters in the first row(a-d) and in the second row(1-4). the letters come up but the numbers dont show until i put them in-between '..'
Adam
Adam on 11 Aug 2014
Yeah, mixing strings and numbers together in a single matrix won't work.
I guess you could create a struct (or a class which I would always favour, but maybe not in R2010) with fields 'Power', 'current' and 'volts' then your "table" would be an array of members of that struct.
Searching the table and doing operations on it will be a lot less neat than with the new Table functionality, but again it depends a lot what you want to do with your table data after creating it as to what kind of data structure is best.

Sign in to comment.

Answers (2)

Kevin Claytor
Kevin Claytor on 11 Aug 2014
The table data type is R2013b and above. If you upgrade, you can do something like:
volts = [1:100]';
current = sin(linspace(0,2*pi))';
pt = array2table([volts, current], 'VariableNames', {'Volts', 'Current'})
pt.Power = pt.Volts .* pt.Current
plot(pt.Power)
If you can't upgrade, you can still use the struct data type:
volts = [1:100]';
current = sin(linspace(0,2*pi))';
pt = struct('Volts', volts, 'Current', current);
pt.Power = pt.Volts .* pt.Current;
plot(pt.Power)
They look almost the same, but there are some differences in the functionality.

  0 Comments

Sign in to comment.


Image Analyst
Image Analyst on 11 Aug 2014
The "table" data type was not invented yet in your version. Upgrade if you can. Or else maybe you can put a uitable control on your GUI with uitable() or with the GUIDE gui editor tool http://blogs.mathworks.com/videos/category/gui-or-guide/.
To send data into the uitable, make up an array and use set():
set(handles.uitable1, 'Data', yourArray);

  0 Comments

Sign in to comment.

Sign in to answer this question.

Tags