Converting a Cell of Cells into an Array of a String Column and Double Column
5 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I have a 5x2 cell made up of cells. It is set up like this:
Red Car 50
Blue Car 45
Green Car 30
Black Car 60
Yellow Car 55
I need to convert the first column into strings, and the second column into a double. Is there anyway I can do this easily?
2 Kommentare
matquest
am 31 Mär. 2020
Bearbeitet: matquest
am 31 Mär. 2020
I think we need a little more information. Are both columns currently strings? E.g.,
cell_array = {{'Red Car'},{'50'}; {'Blue Car'}, {'45'}};
Or is one column a string and the other a double? E.g.,
cell_array = {{'Red Car'},{50}; {'Blue Car'}, {45}};
Secondly, what is the end goal? Do you want two separate arrays? Or do you want a single array and to change the type in each column?
Antworten (1)
Cris LaPierre
am 31 Mär. 2020
Arrays do not support mixed data types. Cells do, which is why your data is probably stored in a cell array. Something that does meet your objectives is a table. So if I had a 5x2 cell array carData
carData =
5×2 cell array
{'Red Car' } {[50]}
{'Blue Car' } {[45]}
{'Green Car' } {[30]}
{'Black Car' } {[60]}
{'Yellow Car'} {[55]}
I could use the function cell2table to make it a table where the first column (called a variable) is car type, and the second is car speed.
carTbl = cell2table(carData,'VariableNames',{'Car','Speed'})
carTbl =
5×2 table
Car Speed
______________ _____
{'Red Car' } 50
{'Blue Car' } 45
{'Green Car' } 30
{'Black Car' } 60
{'Yellow Car'} 55
0 Kommentare
Siehe auch
Kategorien
Mehr zu Numeric Types finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!