Example of Recursive functions:
This definition is recursive as a factorial is defined in terms of the other factorial. There are two parts to any recursive definition: the common or inductive case, and the base case. We say that in common the factorial of n is defined as n multiplied by the factorial of (n - 1), but the base case is that the factorial of 1 is 1. The base case stops the recursion.
3! = 3 * 2!
2! = 2 * 1!
1! = 1
The way it works is that 3! is defined in terms of the other factorial, as 3 * 2!. This expression cannot yet be computed, as first we have to find out the value of 2!. Therefore, in trying to compute the expression 3 * 2!, interruption by recursive definition occurs. According to the definition, 2! be 2 * 1!. And again, the expression 2 * 1! cannot yet be computed as first we have to find the value of 1!. According to the definition, 1! be 1. As we now know what 1! is, we can carry on with the expression which was just being computed; now we know that 2 * 1! is 2 * 1, or 2. Therefore, now we can finish the earlier expression which was being computed; now we know that 3 * 2! is 3 * 2, or 6.
This is the approach that recursion always works. By recursion, the expressions are place on hold with interruption of the common case of the recursive definition. This keeps occurring until finally the base case of the recursive definition applies. This at last stops the recursion, and then the expressions which were put on hold are computed in the reverse order. In this situation, first the computationof 2 * 1! was done, and then 3 * 2!.
There should always be a base case to end the recursion, and the base case should be reached at several points. Or else, infinite recursion would occur (theoretically, though MATLAB will stop the recursion ultimately).