How to make a function operate on a vector of arbitrary length
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have written a function to compute the factorial of a positive integer and return error results if something that isn't a positive integer is input into the function. However, I need to extend this so that the function can be applied to a vector of any length and will find the factorial of each element individually. How do I go about doing this?
function s = sfactorial(x)
if x < 0
error('x must be positive')
elseif floor(x) ~= x
error('x must be an integer')
else
result=1;
for i = 1:x
result=result*i;
end
end
result
0 commentaires
Réponse acceptée
Stephan
le 2 Nov 2018
function s = sfactorial(x)
if x < 0
error('x must be positive')
elseif floor(x) ~= x
error('x must be an integer')
else
result=ones(1,numel(x));
for k = 1:numel(x)
for i = 1:x(k)
result(k) = result(k)*i
end
end
end
s = result;
end
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical 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!