Character Vector to Character Cell Array

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)

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

Products

Asked:

on 18 Aug 2020

Answered:

SAA
on 19 Aug 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!