急求:编写一个matlab文件,求1到n的阶乘之和。要求:输入一个数n,调用,返回1!+……+n!

急求:编写一个matlab文件,求1到n的阶乘之和。要求:输入一个数n,调用,返回1!+……+n!编写脚本文件,不能使用matlab自带阶乘函数

编写一个matlab文件,求1到n的阶乘之和。其代码编写的目的,就是学会自定义函数的编写,循环语句的使用。实现代码如下:

function ex4()

x=input('请输入正整数n:')

s=0;

for  n=1:x

y=exfun(n);

s=s+y;

end

s

end

function y=exfun(x)

y=1;

for j=1:x

y=y*j;

end

end

运行效果

追问

我运行一下,可以后就采纳

可以解释一下第八行s的意思吗?

追答

S是总和

追问

那为什么要把下一个for循环放到下面,这样的话程序执行一半不是应该就停了吗?

大神,求解答

追答

下面的循环的作用是求n!

追问

多谢了,采纳晚了,抱歉

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-05-23
function a=fac(n)
if n==0
    a=1;
else
    a=0;
    for i=1:n
        b=1;
        for j=1:i
            b=b*j;
        end
        a=a+b;
    end
end

第2个回答  2021-01-09

急求:编写一个matlab文件,求1到n的阶乘之和。要求:输入一个数n,调用...
编写一个matlab文件,求1到n的阶乘之和。其代码编写的目的,就是学会自定义函数的编写,循环语句的使用。实现代码如下:function ex4()x=input('请输入正整数n:')s=0;for n=1:x y=exfun(n);s=s+y;end s end function y=exfun(x)y=1;for j=1:x y=y*j;end end 运行效果 ...

matlab如何调用阶乘函数求阶乘的和
MATLAB求阶乘函数为:factorial(),直接调用即可:n=input('请输入一个数:'); % 最大的数sum(factorial(1:n))

如何用matlab求1-10的阶乘的和?
matlab求1-10的阶乘的函数源码如下:function p = factorial()p=1;for a=1:10%设置要求的阶乘 for i=1:a%循环遍历从1到a p=p*i;%遍历相乘 end;\/\/函数结束 p%输出结果 p=1;%p还原其初始值 end end 程序运行结果如下:

matlab阶乘求和问题
matlab软件没有求阶乘的函数,所以必须自己来编一个函数。函数是输入输出的关系,所以建立一个函数文档“factorial.m”专门求阶乘。如下:function f=factorial(N)%建立输入数据N求N的阶乘 f=1;for i=1:N f=f*i;end end 然后再建一个主函数程序“MAIN.m”:clc N=10;%求1-10的阶乘的和 s=...

用matlab如何编写一个函数文件,实现 n!
用matlab如何编写一个函数文件,实现n!的方法。如下参考:1.首先在计算机上打开matlab软件,如下图所示。2.点击打开页面“主页”下的“新建”按钮。3.然后在打开的下拉菜单中选择“function”选项。4.可以打开函数编辑器,在那里可以设置函数的输入。5.然后点击“编辑器”标签中的“保存”按钮,保存编辑...

用matlab如何编写一个函数文件,实现 n!,并计算1!+2!+…20!
function r = AddJc(n)n=input('请输入n的值:')阶乘求和 k=1;r=0;while k<=n r = r + Jc(k)k=k+1;end function s=Jc(m)s=1;k=1;while k<=m s=s*k;k=k+1;end

matlab阶乘函数如何求和?
matlab 1到20阶乘求和,即 S=1!+2!+。。。+20!这个问题可以用for循环语句和factorial阶乘函数来解决。实现方法:S=0;for n=1:20,S=S+factorial(n);end,fprintf('S= %22.2f\\n',S);

请问怎么用matlab求1到100的阶乘求和
sum(cumprod(sym(1:100)))是可行的,但需要2013b以上的版本(符号运算的cumsum和cumprod函数在该版本引入)。对于更早的版本,可以使用求符号和的函数symsum来做:>> symsum(sym('n!'),1,100) ans =

matlab 求阶乘的和
n=input('请输入一个数:');sum(factorial(1:n))___>> n=input('请输入一个数:');sum(factorial(1:n))请输入一个数:4 ans = 33 >>

matlab怎么求1至10的阶乘?
matlab求1-10的阶乘的函数源码如下:function p = factorial()p=1;for a=1:10%设置要求的阶乘 for i=1:a%循环遍历从1到a p=p*i;%遍历相乘 end;\/\/函数结束 p%输出结果 p=1;%p还原其初始值 end end matlab特点:1、高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来...

相似回答