table2array gives string array when contents are numbers

143 views (last 30 days)
Whenever I try to convert an table of numbers into an array, instead I will get a string array with all my numbers listed inside quotemarks. When I try to access it with {} which is reccommended elsewhere in matlab answers then the problematic column that I just added to the matrix here just dissapears entirely
The line giving the issue is
channel5mmyeild= table2array([sr_p, x5mmlinyeild]);
Anyone have any idea what could be causing this?
Cheers

Accepted Answer

Cris LaPierre
Cris LaPierre on 4 Jan 2021
I suspect data in sr_p and x5mmlinyeild are chars or strings and not doubles. What is the data type of the columns of your table? Look at the results of summary(sr_p) and summary(x5mmlinyeild).
If that doesn't seem to be the problem, please save your variables to a mat file and attach them to your post using the paperclip icon.
  3 Comments
Cris LaPierre
Cris LaPierre on 5 Jan 2021
How many variables are in the table? How do you create x5mmlinyeild? I would set it up so that the values are doubles.
Still, converting is fairly simple. Here's a simple example.
str = "10";
x5mmlinyeild = table(str);
N=5;
sr_p = table(N);
% Convert table variable(s) to double first
x5mmlinyeild.str = str2double(x5mmlinyeild.str);
channel5mmyeild= table2array([sr_p,x5mmlinyeild])
channel5mmyeild = 1×2
5 10
It would also appear that, when operating on a table of strings, table2array converts a table of strings to doubles.
table2array(x5mmlinyeild)
ans = 10
It is the mixed case that appears to have caused trouble. In that case, it elected to make everything strings instead of everything doubles.

Sign in to comment.

More Answers (0)

Categories

Find more on Data Type Conversion in Help Center and File Exchange

Products


Release

R2017a

Community Treasure Hunt

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

Start Hunting!