Cell array

If I have a cell array that consists of 1 row by n columns such as and each entry has text of the form
xx1 xx2 xx3 xx4
How can I create a single string that has each entry comma seperated. I need to create this format to enable Rowheaders for a UItable.
i.e. rowHeaders = {'xx1','xx2',xx3','xx4'};
thanks

 Respuesta aceptada

Walter Roberson
Walter Roberson el 23 de Jul. de 2011

0 votos

rowHeaders = YourCellArrayName;
That is all you need: that is already equivalent to
rowHeaders = {YCAN{1}, YCAN{2}, YCAN{3}, ...};

2 comentarios

Jason
Jason el 23 de Jul. de 2011
How would this be adapter where there are a variable number of elements in the array.
Thanks
Walter Roberson
Walter Roberson el 23 de Jul. de 2011
No adaptation needed, as long as the number of elements in the cell array matches the number of row headers you need.
When YCAN is a cell array of strings, then YCAN{1} is, for nearly every purpose in MATLAB, the same thing as writing the literal string at that point. YCAN{:} is, for nearly all purposes, the same thing as writing all of the literal strings at that point, separated by commas. {YCAN{:}} would thus be the same thing as writing {'xx1', 'xx2','xx3' } and so on. And just naming the cell array, YCAN, is the same thing as {YCAN{:}} . So all you need to do is write the cell array name if it is already initialized to the strings you want.

Iniciar sesión para comentar.

Más respuestas (2)

Fangjun Jiang
Fangjun Jiang el 22 de Jul. de 2011

0 votos

You mean this?
a={'xx1 xx2 xx3 xx4'};
b=regexp(a{1},'\s','split')

3 comentarios

Jason
Jason el 22 de Jul. de 2011
Not quite, my string is actially a cell array of size 1x4, so the first element is xx1, the 2nd is xx2 and so on.
Fangjun Jiang
Fangjun Jiang el 22 de Jul. de 2011
You mean a={'xx1' 'xx2' 'xx3' 'xx4'}? Then what processing do you need? Could you just update your question to include of your example input and output?
Jason
Jason el 22 de Jul. de 2011
I multiselect .txt files that have number name sin the format xx1, xx2 etc. I then put all of the selected files into a cell array.
Sometimes there are 12 files, sometimes 6 and sometimes 1 or 2.
I want to be able to take the cell array that has all the filenames in and put them into a rowheader in a uitable.

Iniciar sesión para comentar.

Titus Edelhofer
Titus Edelhofer el 22 de Jul. de 2011

0 votos

or similarly using textscan:
b = textscan('xx1 xx2 xx3 xx4', '%s');
b = b{1}
Titus

Categorías

Más información sobre File Operations en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 22 de Jul. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by