MATLAB Answers

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?

15 views (last 30 days)
EaglesFan
EaglesFan on 4 Nov 2015
Commented: Torsten on 5 Nov 2015
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 Comments

Sign in to comment.

Answers (1)

Lessmann
Lessmann on 4 Nov 2015
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 Comments

Show 1 older comment
EaglesFan
EaglesFan on 5 Nov 2015
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.
Torsten
Torsten on 5 Nov 2015
Expected value of the result is 25^100000/(100000*25).
Still much too large in magnitude.
Best wishes
Torsten.

Sign in to comment.

Sign in to answer this question.

Tags


Translated by