Matlab Parfor变量无法分类

时间:2013-12-05 15:17:31

标签: matlab parfor

任何人都知道为什么这不起作用?我正在尝试运行parfor循环。我可以使用一个简单的for循环来完成相同的代码,但是我需要将它与parfor用于大量数据集。

parfor n = [1:rows]

   MeanIV(n,1) = mean([LastIV(n,1); BidIV(n,1);AskIV(n,1)])

   if isnan(MeanIV(n)) == 1    
      SubIV = dated.IV(n)    
      MeanIV(n,1) = SubIV    
   else    
      MeanIV(n,1) = mean([LastIV(n,1); BidIV(n,1);AskIV(n,1)])    
   end 

   dated.MeanIV = double(MeanIV)

end

我收到此错误“parfor中的变量MeanIV无法归类。”

1 个答案:

答案 0 :(得分:6)

很可能是行

dated.MeanIV = double(MeanIV)

这就是问题。

parfor会尝试“切片”MeanIV,即将各行发送给不同的工作人员。但是,在dated行,您需要整个数组。

end循环的parfor之后移动该行,它会起作用。