1
我有這段代碼,我想要並行運行。傳遞給包含parfor循環的函數的參數之一是一個函數句柄,然後在parfor循環內部執行該句柄。像這樣並行工具箱抱怨MATLAB中的函數句柄沒有分片
[X] = randstep(X,params,roomfun)
...
parfor i=1:N
while ~ok
X(:,i) = A*X(:,i);
if roomfun(X(:,i))
ok = 1;
end
end
end
但是,MATLAB抱怨roomfun,說它是索引但沒有切片。這當然不是這種情況,因爲它是沒有其他循環迭代就可以正常執行的函數。
有沒有什麼辦法可以告訴matlab這是一個函數,或者也許另一種方式我可以組織循環,以獲得並行運行?
感謝您的澄清!然後,我可以良心良知地忽略警告。 – while