Recursive Factorial Function Evaluation

조회 수: 4 (최근 30일)
Student
Student 2018년 3월 20일
편집: Varsha Lohani 2021년 10월 23일
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?

답변 (1개)

Varsha Lohani
Varsha Lohani 2021년 10월 23일
편집: Varsha Lohani 2021년 10월 23일
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

카테고리

Help CenterFile Exchange에서 Design of Experiments (DOE)에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by