How do I convert symbolic values to numerical for uitable ?

How do I Convert symbolic values to numerical for uitable ? The table itself, tbl displays fine, but I want to display the same data into a uitable. The last column is symbolic
load datafile.mat
format bank
tbl = table(t',h', round(vpa(v),2)', 'VariableNames',["Time(s)", "Height(ft)","Velocity(ft/s)"])
fig = uifigure;
uit = uitable(fig,"Data",tbl)

3 Comments

Note that
A = round(vpa(0.000012345),2); disp(char(A))
0.0
does not end in 0.00 . The default output for class sym supresses trailing zeros, same as the default output for format short or long
In order to get trailing zeros in uitable() you need to set the ColumnFormat property to 'bank' -- or create the columns as character vectors or strings.
Thank you, however this does not work: uit = uitable(fig, "Data", "ColumnFormat", "bank", tbl)
Error using uitable
Incorrect number of input arguments.
Error in uitable (line 54)
thandle = builtin('uitable', varargin{:});
Error in rocket_analysis_rev_DL (line 37)
uit = uitable(fig, "Data", "ColumnFormat", "bank")
uit = uitable(fig, "Data", tbl, "ColumnFormat", "bank")

Sign in to comment.

 Accepted Answer

syms x
f = x^2-2;
xsol = solve(f==0)
class(xsol)
ans = 'sym'
xvpa = vpa(xsol)
class(xvpa)
ans = 'sym'
xnum = double(xsol)
xnum = 2×1
1.4142 -1.4142
<mw-icon class=""></mw-icon>
<mw-icon class=""></mw-icon>
class(xnum)
ans = 'double'

1 Comment

Thank you. Your comments were helpful and this code modification worked fine:
load datafile.mat
format bank
vel = double(v);
tbl = table(t',h', vel', 'VariableNames',["Time(s)", "Height(ft)","Velocity(ft/s)"])
fig = uifigure;
uit = uitable(fig, "Data", tbl)

Sign in to comment.

More Answers (0)

Categories

Products

Community Treasure Hunt

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

Start Hunting!