Recursive Factorial Function Evaluation
2 views (last 30 days)
Show older comments
I'm trying to make a recursive function to test factorials that will check for a variable that is a non-negative single argument (it will display an error using the error function if not). How should I go about doing this?
0 Comments
Answers (1)
Varsha Lohani
on 23 Oct 2021
Edited: Varsha Lohani
on 23 Oct 2021
clc
clear all
%% Factorial of the number
n = 8;
out = facto(n);
%% Factorial function
% Create a function for factorial
function f = facto(num)
% FACTO Summary of this function goes here
% factorial of the n
% It is a recursive function call
% if n does not reaches 0. This mean n is either negatve number or
% decimal number. The problem of out of memory occurs. The likely cause
% is an infinite recursion with the program. The problem never converges.
if ~isscalar(num) || num ~= fix(num) || num < 0
error('non-negative integer scalar input expected')
end
if num == 0
f = 1;
else
f = num*facto(num-1);
end
end
0 Comments
See Also
Categories
Find more on Argument Definitions in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!