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?

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 1 Okt. 2020
Bearbeitet: Ameer Hamza am 1 Okt. 2020

1 Stimme

First, convert to string and then convert to numeric values.
v = categorical([1e-4 1e-6]);
x = arrayfun(@(x) str2double(x), string(v));

3 Kommentare

Frank Oosterveld
Frank Oosterveld am 1 Okt. 2020
works! thanks!
Ameer Hamza
Ameer Hamza am 1 Okt. 2020
I am glad to be of help!
Charlie Haimbaugh
Charlie Haimbaugh am 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?

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Campion Loong
Campion Loong am 9 Okt. 2020

1 Stimme

Hi Ameer,
If you have R2019a and newer, you can try using readmatrix to directly read the file as numeric:

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by