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|

2 comentarios

Life is Wonderful
Life is Wonderful el 15 de Mzo. de 2022
Thank you!!
Voss
Voss el 15 de Mzo. de 2022
You're welcome!

Iniciar sesión para comentar.

 Respuesta aceptada

Torsten
Torsten el 16 de Mzo. de 2022
Editada: Torsten el 16 de Mzo. de 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 comentarios

Life is Wonderful
Life is Wonderful el 16 de Mzo. de 2022
Editada: Life is Wonderful el 16 de Mzo. de 2022
Thank you, works as expected!!
Any suggestion without loop or make it faster here ? !!
Torsten
Torsten el 16 de Mzo. de 2022
Recursive call ?
Life is Wonderful
Life is Wonderful el 16 de Mzo. de 2022
Yes, would nice if you can share snippet !!
Thank you

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Productos

Versión

R2021b

Etiquetas

Preguntada:

el 15 de Mzo. de 2022

Comentada:

el 16 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by