parfor-loop的主体不能包含return语句。
我觉得有时可能会很方便,例如:
if matlabpool('size') == 0 % checking to see if my pool is already open
matlabpool(2)
end
parameters = random_parameters(1000)
parfor i=1:1000
result = do_stuff(parameters(i))
if result < threshold
return parameters
end
end
有没有通常的方法来模仿parfor的回报?
我在Windows 7 SP1 x64 Ultimate上使用Matlab R2014a。
答案 0 :(得分:1)
在这种情况下我使用try-catch块。一些例子:
private func cellForDropbox(cell:GridCell,indexPath:IndexPath) -> GridCell {
let filename = self.filenames[(indexPath as NSIndexPath).row]
cell.imageView.backgroundColor = UIColor.lightGray
DropboxClientsManager.authorizedClient?.files.getTemporaryLink(path: filename).response(completionHandler: { (response, error) in
if let url = response {
cell.imageView.sd_setImage(with: URL(string: url.link), placeholderImage: UIImage(named: "placeholder.png"))
} else {
print("Error downloading file from Dropbox: \(error!)")
}
})
return cell
}
<强> P.S。请不要使用i和j作为迭代变量。这是MatLab的不良做法