求matlab编程,大神快来啊,在线急等

M文件计算函数f(n)

自定义的递归函数

%function of recurse
function output_args = recurse( input_args )
    if(input_args <= 0)
        output_args = 1;
    else
        output_args = input_args*recurse(input_args - 1);
    end
end

主函数

function output_args = recurese_main(input_args)

    if(input_args>20||input_args<0)

        error('input params cannot greater than 20 or less than 0.');

    end

    output_args = zeros(1,input_args+1);

    for i=0:input_args

        for j=0:i

            output_args(i+1)= output_args(i+1)+((2^j)*(recurse(j))^2)/recurse(2*j);

        end

    end

    %drawing curse

    plot(0:input_args,output_args);

    grid on;

    title('the curve of f(n)');

    xlabel('n');ylabel('f(n)');

end

追问

求粘贴复制

追答

粘贴复制?

追问

追答

大汗淋漓!
在command窗口,输入edit recurse, 复制自定义的递归程序到那个代码编辑框中,保存,然后,在command窗口,输入edit recurse_main, 复制主程序到那个代码编辑框中,保存。
最后在command窗口输入recurse_main(n)(0<=n<=20)

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-06-08
function y=f(n)
a0=1;
y=a0;
if n==0
y=a0;
else
for i=1:n
a=(2.^n.*factorial(n).^2)./(factorial(2*n));
y=y+a;
end
end
end追问

图呢???大神,还有n的范围,图片文件名,我刚刚运行了,出错了

相似回答