In parfor , why a variable cannot be classified?
古いコメントを表示
In the code below I get an error
Error: The variable Matrix in a parfor cannot be classified.See Parallel for Loops in MATLAB, "Overview".
parfor i=1:n
try
query = 'SELECT * FROM TABLE WHERE Criterion = '' criteria(i) ''';
curs = exec(conn, query);
curs = fetch(curs);
close(curs);
results = curs.Data;
A = f(results);
B = g(results);
C = h(results);
D = k(results);
Matrix(i,6:9) = horzcat(A,B,C,B);
catch
Matrix(i,6:9) = {0,0,0,0};
end
end
Any ideas what I am missing?
2 件のコメント
Walter Roberson
2015 年 7 月 2 日
Do A, B, C, D come out as cell arrays? At the moment it looks plausible that you have storing a numeric vector in one case and a vector of cells in the other case.
sm
2015 年 7 月 2 日
採用された回答
その他の回答 (1 件)
Brendan Hamm
2015 年 7 月 2 日
Preallocate your matrix before the loop:
Matrix = nan(n,9)
Although lookingat your catch statement is Matrix a cell array? That is confusing.
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!