Why 'for loop' is very slow even working on server
1 回表示 (過去 30 日間)
古いコメントを表示
Shakir Hussain
2018 年 10 月 20 日
コメント済み: Shakir Hussain
2018 年 10 月 26 日
My 'for loop' looks like
iwant = cell(a,b);
for i =1:17
c = data(:,:,i);
for j = 1:b
idx = inpolygon(X(:),Y(:),S(j).X , S(j).Y);
iwant{i,j} = c(idx);
end
end
Where a =17,c = 420*940, X = 420*940, Y = 420*940 and b = 1*1 which is polygon and its size is (shape_area 56.4087, x= 1*679340, y = 1*679340).
This for loop is taking very long time even days, so how could I execute it in minimum time
Thank you in advance for any kind of help
採用された回答
Walter Roberson
2018 年 10 月 20 日
The idx results are the same for all i values for a given j. Loop over j precomputing them and then loop over i pulling out the appropriate entries.
9 件のコメント
Walter Roberson
2018 年 10 月 23 日
I do not know what the individual entries in your cell array are intended to mean.
その他の回答 (1 件)
Bruno Luong
2018 年 10 月 20 日
As I mention in another thread you can get on FEX that can be 100 times faster than MATLAB inpolygon, let alone the newy polyshape
参考
カテゴリ
Help Center および 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!