~EDITED'
Hi there, I have a long matrix 1000 x 34 want to do the cumulative multiplication left to right to give a 1000 x 1 matrix then the sum of the multiplication going downwards. So like a sum function but multiplying each element going sideways then downwards.
EDITED THIS ANSWER HAS BEEN ANSWERED but need a follow on answer...

 채택된 답변

Oleg Komarov
Oleg Komarov 2012년 6월 6일

1 개 추천

sum(cumprod(A))

댓글 수: 2

Mate 2u
Mate 2u 2012년 6월 6일
What if their are zeros. Is there a line code to change all zeros to 1s?
Walter Roberson
Walter Roberson 2012년 6월 6일
T = A;
T(T==0) = 1;
sum(cumprod(T))

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Walter Roberson
Walter Roberson 2012년 6월 6일

0 개 추천

If the numbers are strictly positive, you could log() and cumsum() and exp() the result.

카테고리

도움말 센터 및 File Exchange에서 Entering Commands에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by