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?

3 次查看(过去 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

回答(1 个)

Lessmann
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 个评论
EaglesFan
EaglesFan 2015-11-5
Sorry, you are correct. The product of the even positions of the vector are then divided by the sum of the odd positions. If help could be provided here as well that would be great.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by