簡體   English   中英

如何遍歷具有不同數組大小的單元格?

[英]How to loop over cell with different array size?

以下代碼應該以梳狀輸出第一個單元格的內容並訪問由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 to size(aa,1)迭代1 to size(aa,1) 因此,請在您的代碼中進行此修改-

for g=1:size(aa,1) 

它適用於外循環迭代器for j=1:numel(combs) ,因為combs是一1D單元數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM