矢量化单元操作而不是for循环

时间:2013-12-11 16:16:58

标签: matlab cell vectorization

我正在尝试对我处理单元格的代码的一部分进行矢量化,但我无法使用funcell函数进行操作。

我的问题描述如下:

我有一个名为pdif的变量,包含4个单元格,每个单元格包含119个单元格。 我想根据参数找到哪个好的单元格选择:

  • p1(从1到4不等)
  • p2(从1到119不等)。

因此,如果p1 =2p2=59,则好的单元格为pdif{2}{59}

此外,这项工作必须重复2000次。 因此,2000个参数p1(和p2)被归类为数组v1(分别为v2

现在我使用这些行代码:

goodcell=cell(2000,1); %intialization

for gg=1:2000

   goodcell{gg}=pdif{1,v1(gg)}{v2(gg),1};

end

它有效,但我想知道是否有办法写这样的东西:

goodcell=pdif{1,v1}{v2,1}

提前感谢您的帮助。

此致

弗洛里安

1 个答案:

答案 0 :(得分:0)

我建议切换到2d-cells pdif{v1,v2},这可能吗?这将允许像pdif(sub2ind(size(pdif),v1,v2))

这样的解决方案