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 commentaires

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)

Connectez-vous pour commenter.

 Réponse acceptée

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 commentaires

Thanks for your time. Unfortunately it didn't work for all the cases. But i found a function to solve this in below link.
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);

Connectez-vous pour commenter.

Plus de réponses (1)

Image Analyst
Image Analyst le 9 Nov 2016
Modifié(e) : Image Analyst le 10 Nov 2016
Not sure what you want but perhaps the whos() function or celldisp() would be what you want.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by