Converting a Cell of Cells into an Array of a String Column and Double Column
10 次查看(过去 30 天)
显示 更早的评论
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 个评论
matquest
2020-3-31
编辑:matquest
2020-3-31
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?
回答(1 个)
Cris LaPierre
2020-3-31
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!