How do I create a table containing a character array if it has only one row?
24 views (last 30 days)
Show older comments
Are Mjaavatten
on 4 Mar 2022
Commented: Csaba Zoltán Kertész
on 13 Mar 2022
This works fine:
Time = [1;2];Force = [12;17];ID = ['ab';'cd'];
T = table(Time,Force,ID)
But this fails:
Time = [1];Force = [12];ID = ['ab'];
T = table(Time,Force,ID)
There may be a good reason for this, but the behaviour does not seem logical to me.
Does anyone have good workaround?
1 Comment
Stephen23
on 4 Mar 2022
"There may be a good reason for this"
Yes: single character vectors are presumed to be part of name-value arguments.
Accepted Answer
Simon Chan
on 4 Mar 2022
Time = [1];Force = [12];ID = {'ab'};
T = table(Time,Force,ID)
Actually, the error message tells you the solution.
Time = [1];Force = [12];ID = ['ab'];
T = table(Time,Force,ID)
2 Comments
Csaba Zoltán Kertész
on 13 Mar 2022
You could also try to use strings instead of character vectors if you do not want to hassle with cells:
Time = [1]; Force = [12]; ID = ["ab"];
T = table(Time, Force, ID)
More Answers (0)
See Also
Categories
Find more on Logical 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!