How to compute factorial if input is vector or matrix?

3 visualizaciones (últimos 30 días)
NIANNIAN
NIANNIAN el 16 de Nov. de 2014
Respondida: MA el 16 de Nov. de 2014
I am solving a problem which asks to create a function to express factorial without using build-in functions such as factorial, prod or cumprod.
Actually, I have written down the function.Here is my code:
f=1;
for i=n:-1:1
f=f*i;
end
This function actually works. However I am wondering how to improve my function, if the input is a vector or even matrix rather than a scalar. But I am stuck now because i could not use any build-in functions. Could anybody help me or even just give me some hints for how to do so? Thank you so much.
  1 comentario
Geoff Hayes
Geoff Hayes el 16 de Nov. de 2014
The easiest (and probably not the most efficient) method to try computing the factorial of each element in the vector or matrix, is to iterate over each element and compute its factorial. Determine the number of rows and columns in your matrix (or vector) and just use a couple of for loops to iterate over each element.

Iniciar sesión para comentar.

Respuestas (1)

MA
MA el 16 de Nov. de 2014
format long g
A=[1 2 3 50;4 5 6 2;9 8 7 11];
for i=1:size(A,1)
for j=1:size(A,2)
A(i,j)=factorial(A(i,j));
end
end
A

Categorías

Más información sobre Discrete Math en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by