可以这样改一下,就可以了。
function y=Untitled9( )
y=jiecheng(7)+jiecheng(5)+3;
end
function f=jiecheng(n)
f=1;
for i=1:n
f=fi;
end
end
在命令窗口中,输入
y=Untitled9( ) %回车
matlab软件没有求阶乘的函数,所以必须自己来编一个函数。函数是输入输出的关系,所以建立一个函数文档“factorialm”专门求阶乘。如下:function f=factorial(N)%建立输入数据N求N的阶乘f=1;for i=1:Nf=fi;endend然后再建一个主函数程序“MAINm”:clcN=10;%求1-10的阶乘的和s=0;for i=1:Ns=s+factorial(i)endfprintf('求和结果是%f',s);这样就可以求出阶乘的和咯。
matlab中的阶乘函数是factorial,其函数形式为:
factorial(N)
当N为向量时,计算从1到N这N个数的乘积,即相当于prod(1:N);
当N是N维数组时,计算N中每个元素的阶乘。
注意:由于在matlab中双精度浮点数的整数位数大约是15位,只有对不大于21的整数计算结果是精确的,对大于21的整数,factorial的计算结果只有前15位是准确的。
举例说明如下:
(1)计算6的阶乘。
在matlab命令窗口(Command Window)中,输入
y = factorial(6)
运算结果为:720
与在Matlab命令窗口(Command Window)中,输入
y = prod(1:6)
运算结果为:720。与factorial(6) 的结果相同。
(2)同时计算 5,6,7,10的阶乘。
在Matlab命令窗口(Command Window)中,输入命令
y = factorial([5 6 7 10])
运算结果为:120 720 5040 3628800,是数组中每个元素的阶乘。
Matlab 2015R 及以后版本,都自带阶乘函数,代码为:
>> factorial(n)
其输出值为 n!
若要生成阶乘表,则代码如下:
>> A=transpose([1:1:10; factorial(1:1:10)])
A 的输出值如下图:
( A 是 102 的矩阵,矩阵第一列为 1 到 10,第二列为相应 1 到 10 的阶乘 )
---------
( 有问题欢迎追问 @_@ )
您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。展开全部
可以这样改一下,就可以了。
function y=Untitled9( )
y=jiecheng(7)+jiecheng(5)+3;
end
function f=jiecheng(n)
f=1;
for i=1:n
f=fi;
end
end
在命令窗口中,输入
y=Untitled9( ) %回车非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
以上就是关于matlab自己编写阶乘函数并计算y=7!+5!+3全部的内容,包括:matlab自己编写阶乘函数并计算y=7!+5!+3、matlab阶乘求和、matlab与控制系统仿真实验中n的阶乘 怎么打等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)