How to compute factorial if input is vector or matrix?

2 Ansichten (letzte 30 Tage)
NIANNIAN
NIANNIAN am 16 Nov. 2014
Beantwortet: MA am 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 Kommentar
Geoff Hayes
Geoff Hayes am 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.

Melden Sie sich an, um zu kommentieren.

Antworten (1)

MA
MA am 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

Kategorien

Mehr zu Discrete Math finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by