Convert Table to double vector

406 views (last 30 days)
Good morning
I try to import values from a file, matlab makes a table file from it.
Now I want to use the table values as doubles, such that I can work with it numerically.
I tried
A = table2array(Displacment_u1_u2)
But then I finish up with
A =
1×2 categorical array
-4.5031370E-03 -1.1870213E-01
These values are still not manipulatable.
When I then try
double(A)
I get the values from the 'baskets' they're in,
ans =
1 2
Thus, how do i get the categorical arrays as double values such that I can work with them?

Accepted Answer

Ameer Hamza
Ameer Hamza on 1 Oct 2020
Edited: Ameer Hamza on 1 Oct 2020
First, convert to string and then convert to numeric values.
v = categorical([1e-4 1e-6]);
x = arrayfun(@(x) str2double(x), string(v));
  3 Comments
Ameer Hamza
Ameer Hamza on 1 Oct 2020
I am glad to be of help!
Charlie Haimbaugh
Charlie Haimbaugh on 28 Feb 2022
I have issues with str2double and str2num in term of precision. I am trying to convert string gps coordinates from an imported table to numbers, but it brings precision down to 4 decimals. Is there any way around this?

Sign in to comment.

More Answers (1)

Campion Loong
Campion Loong on 9 Oct 2020
Hi Ameer,
If you have R2019a and newer, you can try using readmatrix to directly read the file as numeric:

Categories

Find more on Tables 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!