How can I calculate the product of elements in even positions in a vector using a for loop, without using sum or prod built-in functions?
2 ビュー (過去 30 日間)
古いコメントを表示
I'm having trouble calculating the product of even positions in a given matrix using a for loop. The vector is 100,000 uniformly randomly generated numbers between 0 and 50, and I know that is uniform=(50)*rand(1,100000). I don't know how to get the product of the even positions using for loops, without using prod function. Any help would be appreciated
0 件のコメント
回答 (1 件)
Lessmann
2015 年 11 月 4 日
Hi,
you can use the modulo function to detect the even positions and then simply multiply the values.
z = (50)*rand(1,100000);
r = 0
for ii = 1:n
if ~mod(ii,2)
r = r*z(ii)
end
end
4 件のコメント
Torsten
2015 年 11 月 5 日
Expected value of the result is 25^100000/(100000*25).
Still much too large in magnitude.
Best wishes
Torsten.
参考
カテゴリ
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!