Character Vector to Character Cell Array

4 views (last 30 days)
Leah Ettensohn
Leah Ettensohn on 18 Aug 2020
Answered: SAA on 19 Aug 2020
I have a logical character vector, a, with the dimensions 5580x1 (example below). I want to convert a into a 5580x20 cell array. To do this, I want to copy each element of the original 5580 elements twenty times. Does anyone happen to know of a simple way to do this? I have very little exerpience with matlab, so am not sure which functions would be best to approach this problem with. Thank you in advance for your help!!
What I currently have:
a = '1' '0' '1' '1' '0' ....etc
The cell array I want:
a =
'1' '1' '1' '1' etc... for 20 cells
'0' '0' '0' '0' etc... for 20 cells
'1' '1' '1' '1' etc... for 20 cells
'1' '1' '1' '1' etc... for 20 cells
...repeated for all original 5580 elements..

Answers (1)

SAA
SAA on 19 Aug 2020
If you only have a logical character vector why do you want them all to be in a cell arrays and not just a matrix? But anyhow this should do what you want:
b = num2cell(str2num(a).*ones(size(a,1),20));
you can also not do num2cell and just work with a regular matrix which in my opininon is just easier to work with.

Categories

Find more on Data Type Conversion 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!