How to write cumulative product function

Hi
I am trying to implement cumproduct without using built-in function. Below is my test code . I need help to implement "My Test code " like built-in cumprod([1 1 2 : 5]).
Thank you!!
% Built-in
A = cumprod([1 1 2 : 5])
% A
%------+
% 1
% 1
% 2
% 6
% 24
% 120
% My Test code ,
A1 = 1;
for i = 1 :5
A1 = A1 * i;
fprintf('%10d|%10d|\n',i,A1);
end
A1
-----+
1|
2|
6|
24|
120|

 Risposta accettata

Torsten
Torsten il 16 Mar 2022
Modificato: Torsten il 16 Mar 2022
m = 10;
v = [1 1 2:m];
pcum = cumproduct(v)
function pcum = cumproduct(v)
n = numel(v);
pcum = zeros(n,1);
pcum(1) = v(1);
for i = 2:n
pcum(i) = pcum(i-1)*v(i);
end
end

3 Commenti

Life is Wonderful
Life is Wonderful il 16 Mar 2022
Modificato: Life is Wonderful il 16 Mar 2022
Thank you, works as expected!!
Any suggestion without loop or make it faster here ? !!
Recursive call ?
Yes, would nice if you can share snippet !!
Thank you

Accedi per commentare.

Più risposte (0)

Categorie

Prodotti

Release

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by