多单元阵列循环

时间:2013-06-11 19:32:38

标签: matlab for-loop iteration cell

我想知道如何在两个不同的数据单元阵列上循环。

更确切地说,第一个

data1 = {'x','y','z', 'xyz','yxz'};
data2 = {'b','c','a'};

我想要一个执行以下操作的for循环

  

迭代data2的第一个元素,同时迭代data1的整个元素

希望你们能够理解我的问题并期待你的天赋

谢谢

2 个答案:

答案 0 :(得分:2)

您可以使用嵌套cellfun,具体取决于您对data2{ii}data1{jj} ...

的处理方式
res = cellfun( @( d1 ) cellfun( @( d2 ) myfun( d1, d2 ), data2, 'uni', 0 ), data1, 'uni', 0 );

答案 1 :(得分:1)

data1 = {'x','y','z', 'xyz','yxz'};
data2 = {'b','c','a'};

for k = data2
    for m = data1
        [k{1} m{1}] % Print or use them
    end
end

其中km1x1个单元格数组,您可以使用k{1}k{:}访问其中的字符串(所有元素都是现在只有1个。)