Effacer les filtres
Effacer les filtres

How to compute factorial if input is vector or matrix?

2 vues (au cours des 30 derniers jours)
NIANNIAN
NIANNIAN le 16 Nov 2014
Réponse apportée : MA le 16 Nov 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 commentaire
Geoff Hayes
Geoff Hayes le 16 Nov 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.

Connectez-vous pour commenter.

Réponses (1)

MA
MA le 16 Nov 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

Catégories

En savoir plus sur Programming dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by