~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