How do I concatenate char and double classes?
32 views (last 30 days)
Show older comments
I'm attempting to concatenate data of 2 different class types.
The first type is of Class char, with the size being 7 x 11.
z =
DUE
DUE
BT
PRE_REL
BT
BT
PRE_REL
The 2nd type is of Class double, with the size being 7 x 11.
y =
58570 -1245.0111 -4807.8222
58570 -1245.0111 -4807.8222
58572 -1400.0111 -4950.8222
58574 -1550.0111 -5000.8222
58576 -1600.0111 -5150.8222
58576 -1600.0111 -5150.8222
58578 -1750.0111 -5200.8222
The desired output would be a single array that looks like this:
DUE 58570 -1245.0111 -4807.8222
DUE 58570 -1245.0111 -4807.8222
BT 58572 -1400.0111 -4950.8222
PRE_REL 58574 -1550.0111 -5000.8222
BT 58576 -1600.0111 -5150.8222
BT 58576 -1600.0111 -5150.8222
PRE_REL 58578 -1750.0111 -5200.8222
In looking through the Programmer's Guide I'm not sure if I need to make a simple conversion or not. Any ideas would be helpful. Thanks.
0 Comments
Accepted Answer
Azzi Abdelmalek
on 2 May 2014
%Example
z =strvcat('DUE','DUE','BT','PRE_REL')
data=rand(4,3)
%convert your char array to cell array
c=cellstr(z)
%covert your double array to call array
n=num2cell(data)
out=[c n]
More Answers (1)
Mischa Kim
on 2 May 2014
4 Comments
Image Analyst
on 2 May 2014
You poor guy. You must be using an old version of MATLAB. The wonderful new table data type only came into being with R2013b. Please upgrade because like Mischa said, the table is the best way to go. Otherwise you'll be stuck using a cell array. Definitely more complicated to use. See the FAQ on cell arrays: http://matlab.wikia.com/wiki/FAQ#What_is_a_cell_array.3F to give you an idea of when you need to use parentheses and when you need to use braces . Actually I see Azzi and Jose-Luis already gave you code for that so just use that if you can't upgrade.
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!