- Also, please consider the fact that in your example, and in proposed vectorizations in matrix Mat columns from 4 to 10 have values equal to infinity due to maximum capacity of data precision.
how to vectorized a nested for loop?
12 ビュー (過去 30 日間)
古いコメントを表示
i have two for loop and i want to vectorized it . i try a lot to do it but i cannot do it. this is the simple version is let
Mat = zeros(10)
for i = 1:10
for j = 1:10
Mat(i,j) = exp((i.^5) + j.^2);
end
end
Thanks.......
0 件のコメント
回答 (1 件)
Jan Orwat
2014 年 2 月 13 日
編集済み: Jan Orwat
2014 年 2 月 14 日
Hello Mohammed, there are many ways to vectorize your loops. Check out those examples:
1.
[r,c]=meshgrid(1:10,1:10);
Mat=exp(c.^5+r.^2);
check function meshgrid in help to how it works (type doc meshgrid in commmand window)
2.
Mat=bsxfun(@(A,B)exp(A.^5+B.^2),(1:10)',1:10);
check bsxfun and function_handle
4 件のコメント
Jung Soo Park
2018 年 2 月 21 日
there are two minor errors on mohammed's reply dated 14feb2014. a=zeros(10,10) and isequal(a,Mat1)
参考
カテゴリ
Help Center および File Exchange で Matrix Indexing についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!