MATLAB Answers

how to display output in matlab as table enclosed below

1,431 views (last 30 days)
work wolf
work wolf on 1 Sep 2016
Edited: Walter Roberson on 14 Jan 2017
i have data as follows as
2 1 -0.307799 0.00
3 0.544459 0.0153522 0.01
4 0.566101 0.00070708 0.02
5 0.567143 -1.40255e-08 0.03
6 0.567143 1.50013e-12 0.04
7 0.567143 0 0.05
how to display output in matlab as table with the first row (enclosed below)
count x f(x) initial
2 1 -0.307799 0.00
3 0.544459 0.0153522 0.01
4 0.566101 0.00070708 0.02
5 0.567143 -1.40255e-08 0.03
6 0.567143 1.50013e-12 0.04
7 0.567143 0 0.05

  0 Comments

Sign in to comment.

Answers (2)

Star Strider
Star Strider on 2 Sep 2016
You can do that using a regular table but you cannot use ‘f(x)’ as a variable name because it is not a valid MATLAB variable name. I have changed it to ‘fx’ here:
Data = [ 2 1 -0.307799 0.00
3 0.544459 0.0153522 0.01
4 0.566101 0.00070708 0.02
5 0.567143 -1.40255e-08 0.03
6 0.567143 1.50013e-12 0.04
7 0.567143 0 0.05];
VarNames = {'count', 'x', 'fx', 'initial'};
T = table(Data(:,1),Data(:,2),Data(:,3),Data(:,4), 'VariableNames',VarNames)

  4 Comments

Show 1 older comment
Star Strider
Star Strider on 3 Sep 2016
To do it without the table functions, you would have to use a couple of fprintf statements to print it to the Command Window:
Data = [ 2 1 -0.307799 0.00
3 0.544459 0.0153522 0.01
4 0.566101 0.00070708 0.02
5 0.567143 -1.40255e-08 0.03
6 0.567143 1.50013e-12 0.04
7 0.567143 0 0.05];
VarNames = {'count', 'x', 'f(x)', 'initial'};
fprintf(1, ' %s\t\t%s\t\t\t%s\t\t%s\n', VarNames{:})
fprintf(1, '\t%d\t%06f\t%12.5E\t%.2f\n', Data')
count x f(x) initial
2 1.000000 -3.07799E-01 0.00
3 0.544459 1.53522E-02 0.01
4 0.566101 7.07080E-04 0.02
5 0.567143 -1.40255E-08 0.03
6 0.567143 1.50013E-12 0.04
7 0.567143 0.00000E+00 0.05
Note: The output looks correct in the Command Window. The ‘tab’ distances are different in the Answers windows.
work wolf
work wolf on 4 Sep 2016
thank you , but i need to show in workspace as matrix , i.e, add name row (( size 1xn ))for every column in number matrix (( size mxn )) as V=[ w n u ] (size 1x3) ; M=[ 1 2 3; 4 5 6;7 8 9; 10 11 12] size(4x3). M=
Star Strider
Star Strider on 4 Sep 2016
My pleasure.
You can only do that with a table object, and you can only do that with R2013b or later.
Another option is:
DataCell = {VarNames, Data};
That puts all the variables in a cell array, but does not actually create a table. That’s as good as it gets without the table funciton.

Sign in to comment.


Azzi Abdelmalek
Azzi Abdelmalek on 1 Sep 2016
h={'count' 'x' 'f(x)' 'initial'}
data=[2 1 -0.307799 0.00
3 0.544459 0.0153522 0.01
4 0.566101 0.00070708 0.02
5 0.567143 -1.40255e-08 0.03
6 0.567143 1.50013e-12 0.04
7 0.567143 0 0.05]
f=figure;
t=uitable(f,'data',data,'columnname',h)

  1 Comment

work wolf
work wolf on 2 Sep 2016
Thank you, but how to display results in command window and workspace? because results display as figure!!

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!