有人知道为什么这不管用吗?我在试着运行一个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不能被分类。
发布于 2013-12-05 15:21:31
很可能是这条线
dated.MeanIV = double(MeanIV)这就是问题所在。
parfor将尝试“切片”MeanIV,即将单个行发送给不同的工作人员。但是,在dated行中,您需要整个数组。
在end的parfor循环之后移动行,它就能工作了。
https://stackoverflow.com/questions/20403702
复制相似问题