【问题标题】:Matlab Parfor Variable cannot be ClassifiedMatlab Parfor 变量无法分类
【发布时间】:2013-12-05 15:17:31
【问题描述】:

有人知道为什么这不起作用吗?我正在尝试运行 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 进行分类。”

【问题讨论】:

标签: matlab parfor


【解决方案1】:

很可能是这条线

dated.MeanIV = double(MeanIV)

这就是问题所在。

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

parfor循环的end后面的行移动,它将起作用。

【讨论】:

  • 感谢回复,知道了!
猜你喜欢
  • 1970-01-01
  • 2018-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-17
  • 2016-05-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多