How to get Command Window format for existing 'Cell Arrays'

I have a Cell-array created and i want to get the command window format for that cell-array.
For example: I have created a 5x2 cell array using command line:
MyCell = {'time' , 'timestamp';'posX', {'DePositionX', 'DePositionXmm'};'posY', {'DePositionY', 'DePositionYmm'};'velocityX', 'DeVelocityX';'velocityY', 'DeVelocityY'};
Similarly I have a MxN cell array already created(not by me) and i want to get the structure of that cell in a command window format as shown in the above code. Can you tell me is there any way or commands to get this.
Thanks.

2 comentarios

What do you mean by "command window format"?
Just type
MyCell
is you want to view it in the command window.
I can create a cell by typing below piece in command window.
{'time' , 'timestamp';'posX', {'DePositionX', 'DePositionXmm'};'posY', {'DePositionY', 'DePositionYmm'};'velocityX', 'DeVelocityX';'velocityY', 'DeVelocityY'};
Now, already i have a cell array and i want it in above format(vice-versa)

Iniciar sesión para comentar.

 Respuesta aceptada

Jan
Jan el 10 de Nov. de 2016
You have a cell array and want to create the code, which produced this array. Right? Then try FEX: uneval .
If the elements of the cell are all strings or numbers, this would work also:
S = size(C);
fprintf('C = {');
for iR = 1:S(1)
for iC = 1:S(2)
data = C{iR, iC};
if ischar(data)
fprintf('''%s''', data);
elseif isnumeric(data)
fprintf('''%g''', data);
else
error('Class not supported.')
end
if iC < S(2)
fprintf(', ');
else
fprintf('...\n');
end
end
end
fprintf('};')

4 comentarios

Thanks for your time. Unfortunately it didn't work for all the cases. But i found a function to solve this in below link.
Jan
Jan el 10 de Nov. de 2016
Please do not cross-post a question in different forums, because this wastes the time of the one who try to help you. If you really have a good reason to cross-post, add a link to the other forum in each question. Thanks.
"It does not wokr in all cases": If you define the needed cases in the question, posting a matching answer is easier.
Sure. I will note it.
Isn't that just a manual way of doing
celldisp(yourCellArray);

Iniciar sesión para comentar.

Más respuestas (1)

Image Analyst
Image Analyst el 9 de Nov. de 2016
Editada: Image Analyst el 10 de Nov. de 2016
Not sure what you want but perhaps the whos() function or celldisp() would be what you want.

Categorías

Etiquetas

Preguntada:

el 9 de Nov. de 2016

Comentada:

el 15 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by