MATLAB Answers

Get the factorial of an array

2 views (last 30 days)
Mario Youchia
Mario Youchia on 8 May 2020
Answered: James Tursa on 8 May 2020
How can I create a function that calculates the factorial of each number in an array and returns another array which is the factorial.
The numbers are any positive integers and they haven't a specific order, for example [1 9 1 3 7 2 5 4 0 9]; I want to input this so the output would be [1 362880 1 6 5040 2 120 24 1 362880].
Thanks in advance.

  0 Comments

Sign in to comment.

Answers (2)

James Tursa
James Tursa on 8 May 2020
The factorial( ) function is vectorized, so just call it:
>> n = [1 9 1 3 7 2 5 4 0 9];
>> factorial(n)
ans =
Columns 1 through 8
1 362880 1 6 5040 2 120 24
Columns 9 through 10
1 362880

  0 Comments

Sign in to comment.


Ameer Hamza
Ameer Hamza on 8 May 2020
Edited: Ameer Hamza on 8 May 2020
x = [1 9 1 3 7 2 5 4 0 9];
y = arrayfun(@factorial, x);
Result
>> y
y =
Columns 1 through 6
1 362880 1 6 5040 2
Columns 7 through 10
120 24 1 362880

  0 Comments

Sign in to comment.


Translated by