[Quick Question]Multiplications of all elements

Hi guys,
I have a matrix A = [ 1;9;1;4;4;6]
Is there any efficient way other than writing a loop that reach the result,
B = 1*9*1*4*4*6 = 864
Thanks a lot
==== Problem solved. Those comments are really useful!

 Accepted Answer

Yes. Try
B = prod( A )
B =
864

6 Comments

Jan
Jan on 18 Aug 2012
Edited: Jan on 18 Aug 2012
You can find such solutions using the documentation, e.g. type lookfor product in the command line. Even asking Google for "Matlab multiply all elements" let you find a bunch of related links, which suggest to use PROD().
Or you can ask at Answer ;-)
Xiao Tang
Xiao Tang on 18 Aug 2012
Edited: Xiao Tang on 18 Aug 2012
Thanks, it's more than an answer!
However, I realized that what I really want is B(1) = A(1)=1, B(2) =A(1)*A(2)=9,B(3) = A(1)*A(2)*A(3)=9,B(4)= A(1)*A(2)*A(3)*A(4) = 36,etc. Any idea other than a loop like
for i =1:n; B(i) = prod(A(i)); end
@Xiao: the documentation of prod() references cumprod(). You better give a try to the documentation, since it will definitely save you time.
I see. Thanks a lot guys!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!