Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何循环使用不同数组大小的单元格?_Arrays_Matlab_Loops_Cell Array - Fatal编程技术网

Arrays 如何循环使用不同数组大小的单元格?

Arrays 如何循环使用不同数组大小的单元格?,arrays,matlab,loops,cell-array,Arrays,Matlab,Loops,Cell Array,下面的代码应该输出combs中第一个单元格的内容,并访问bb定义的单元格的每一行。我这里的问题是它不会循环到第二和第三个单元格 % input arrays A=[2 1 3]; B=[4 2 1 3 3]; C=[1 3]; D=[3 2 4 2 1 1]; E=[4 1 1]; % possible subsets of a set combs = arrayfun(@(x) nchoosek({A,B,C,D,E},x),3:numel({A,B,C,D,E}),'U

下面的代码应该输出combs中第一个单元格的内容,并访问bb定义的单元格的每一行。我这里的问题是它不会循环到第二和第三个单元格

% input arrays
A=[2 1 3];       
B=[4 2 1 3 3]; 
C=[1 3]; 
D=[3 2 4 2 1 1]; 
E=[4 1 1];

% possible subsets of a set
combs = arrayfun(@(x) nchoosek({A,B,C,D,E},x),3:numel({A,B,C,D,E}),'Uniform',0);

for j=1:numel(combs)
        aa=combs{j}  
        for g=1:numel(aa)          
           bb=aa(g,:) 
        end        
end
只对第一个单元格数组执行循环,然后出现此错误消息:
索引超过了矩阵维度

simtt1中的错误(第18行) bb=aa(g,:)


我可以知道如何使第二个单元格和第三个单元格循环吗?

由于迭代器
g
用于索引
aa
的行,因此需要将其从
1迭代到大小(aa,1)
。因此,在代码中进行此编辑-

for g=1:size(aa,1) 
它适用于外部循环迭代器-
对于j=1:numel(combs)
,因为
combs
是一个
1D
单元数组