How to vectorize this nested for loop?
1 回表示 (過去 30 日間)
古いコメントを表示
Hi everyone, I want to vectorize this nested for loop with an 'if' condition. Could you please let me know how to get it done?
b=0;
pair = [];
min1 = 1;
max1 = 1;
for n = -min1:max1
for m = -min1:max1
if n+m == b
pair = [pair;n,m];
end
end
end
0 件のコメント
採用された回答
Dyuman Joshi
2024 年 3 月 2 日
%Original Approach
b=0;
min1 = 1;
max1 = 1;
pair = [];
for n = -min1:max1
for m = -min1:max1
if n+m == b
pair = [pair;n,m];
end
end
end
pair
%Vectorized approach
[n,m] = meshgrid(-min1:max1)
idx = n+m==b
out = [n(idx) m(idx)]
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
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!