1x1 cell array dimension mismatch

Dear All,
It seems to be an easy question but has wasted my time for a couple of days! I have a 1x1 cell structure array that I would like to put data_path of two different files in it. I have two string matrices each containing one of these two files. I seem to not to be able to tell MATLAB to put both files in the same cell array, and I keep getting "subscripted assignment dimension mismatch". here is the example:
% for k=1:35 % cell.array.one.by.one(k)={firstFilePath(k,1) secondFilePath(k,2)}; %end
subscripted assignment dimension mismatch
Thanks in advance for your inputs!

3 个评论

for k=1:35
cell.array.one.by.one(k) = {firstFilePath(k,1) secondFilePath(k,2)};
end
what class is firstFilePath?
type
whos firstFilePath(k,1)
Also don't call your sructure as cell... because it's already a builtin function.
Last thing, why are you nesting fieldnames like that?
cell.array.one.by.one(k)
this is a non scalar structure in a structure in a structure in a structure in a structure.
IN STRUCT PTION
class is cell. The reason for such a complicated structure is that I'm working with SPM for fMRI analysis, in batch scripting you need to have such a "structure in structure" and nesting.

请先登录,再进行评论。

 采纳的回答

I'm not sure what the 35 is for but if you have a 1x1 cell array, ca, and you want to put two strings in it that are of different lengths the only way I know how to do it is to put the two strings into a structure and then put the structure into a cell.
structFilenames.filename1 = filename1;
structFilenames.filename2 = filename2;
ca = {structFilenames};
celldisp(ca);
(I tried putting the strings into a 1x2 cell array and then putting that cell array into a single cell but it seemed not to work - it ended up creating a 2x1 cell array instead of a single cell with the 1x2 cell array inside it.)

更多回答(0 个)

类别

在 帮助中心 和 File Exchange 中查找有关 Structures 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by