我如何在matlab中编写嵌套递归函数

how can i write nested recursive function in matlab

    I want to write nested recursive function. 
    Example: Calculate sum of factorial of 1 to n numbers.

myfact(n) 函数计算 n 的阶乘。

function [ fact ] = myfact( x )
temp = 0;
if (x == 1)
    temp = 1;
else
    temp = x*myfact(x-1);
end
fact = temp;
end 

myfactSum() 函数计算 "myfact" 的 return 个值的总和。 factNums 是一个包含每个值的阶乘的数组。例如:factNums(2)=2!

function [total] = myfactSum(n,factNums)
    if(n==1)
       return
    else
    result = myfact(n);
    factNums(n) = result;
    total=sum(factNums);
    myfactSum(n-1,factNums);
    end
end

正在测试上面的脚本;

n = 4;
factNums = zeros(1,n);
x=myfactnum(n,factNums);

y=0;
for i=1:checkValues
   y=y+myfact(i); 
end

脚本的结果 x=24, y=33 一个递归和循环找到正确答案,但是嵌套递归函数 return 只是最后一个值的阶乘。 我尝试调试递归函数,它用函数值末尾的值 [1,2,6,24] 填充 factNums,但是当它返回到主脚本值时消失了。

我更改了 myfactSum,它起作用了 :) 就是这么简单 :)

function [sum] = myfactnum(n)

temp=1;    
    if(n==0)
       temp=0;
    else
    temp=myfact(n)+myfactnum(n-1);
    end
sum=temp;    
end