Can we create a single multi-dimensional cell array of variable size dimensions.
I have matrices (all of same dimensions) A1,A2,A3,A4 AA1,AA2,AA3,AA4,BB1,BB2,BB3,BB4
I was wondering if whether I can store these matrices like
cellarray{1,1,1}=A1 cellarray{1,2,1}=A2......cellarray{1,4,1}=A4
cellarray{1,1,2}=AA1 cellarray{1,2,2}=AA2......cellarray{1,4,2}=AA4
cellarray{2,1,2}=BB1 cellarray{2,2,2}=BB2......cellarray{2,4,2}=BB4
I understand that cells are good for storing data of variable dimensions but for this problem its the dimensions which are variable instead of data itself
No products are associated with this question.
cellarray={A1,A2,A3,A4,AA1,AA2,AA3,AA4,BB1,BB2,BB3,BB4}
The question contains the detail, that e.g. BB4 should be found at the index [1,2,1]. Does your answer address this? If not, are there any reasons to omit this?
I think this is the simple way to store those matrices, maybe we have to store also their names:
cellarray_names={'A1','A2',...}.
I do not know exactly what are the OP intentions. I was hoping he comments my answer
maxsize1 = 100; maxsize2 = 100; maxsize3 = 100;
mycell = cell(maxsize1 ,maxsize2 ,maxsize3 );
mycell{1,1,1} = A1;
mycell{1,2,1} = A2;
mycell{1,4,1} = A4; mycell{1,1,2} = AA1;
mycell{1,2,2} = AA2;
mycell{1,4,2} = AA4; mycell{2,1,2} = BB1;
mycell{2,2,2} = BB2;
mycell{2,4,2} = BB4;// eventually you can chop the unused part of the mycell to the index of the date you have entered. notice that the rest of the cell variables that you haven't entered any data in are empty
mycell = mycell(1:2,1:4,1:2);
1 Comment
Direct link to this comment:
http://www.mathworks.com/matlabcentral/answers/74255#comment_146669
I do not understand the question. You have posted the code required to create cellarray already. This implies, that the answer is:
I assume, you want something more general.