function y=jch(n)
y=0;
for i=1:n
m=factorial(n)
y=y+m;
end
这是我写的M文件 当我计算jch(4)时 结果答案成了96 求大神说下错误并且修正 谢谢了
matlab程序为:
function jiechenghe=fun(x)
jiechenghe=0;
s=1;
for i=1:x
s=s*i;
jiechenghe=jiechenghe+s;
end
应用:求n!的位数
可以将n!表示成10的次幂,即n!=10^M(10的M次方)则不小于M的最小整数就是 n!的位数,对该式两边取对数,有 M =log10^n!
即:M = log10^1+log10^2+log10^3...+log10^n。循环求和,就能算得M值,该M是n!的精确位数。
扩展资料:
对于复数应该是指所有模n小于或等于│n│的同余数之积,对于任意实数n的规范表达式为:正数 n=m+x,m为其正数部,x为其小数部;负数n=-m-x,-m为其正数部,-x为其小数部。
在 Common Lisp 中, 可以很方便的使用更为简洁的使用递归实现阶乘:
(defun factorial (n)
(cond
((> n 0) (* (factorial (- n 1)) n))
((= n 0) 1)
(t (error "N is smaller than 0."))))
参考资料来源:百度百科-n!
首先不含0的阶乘,即:x阶乘和=1!+2!+……+x!;
matlab参考程序为:
functionjiechenghe=fun(x)
jiechenghe=0;
s=1;
fori=1:x
s=s*i;
jiechenghe=jiechenghe+s;
end
若想加入0的阶乘,可以加入判断条件,令0!=1;
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等。
扩展资料:
Matlab参考函数
randn()创建随机矩阵,服从正态分布
randperm()创建随机行向量
horcatC=[A,B],水平聚合矩阵,还可以用cat(1,A,B)
vercatC=[A;B],垂直聚合矩阵,还可以用cat(2,A,B)
repmat(M,v,h)将矩阵M在垂直方向上聚合v次,在水平方向上聚合h次
blkdiag(A,B)以A,和B为块创建块对角矩阵
参考资料来源:百度百科-MATLAB
本回答被网友采纳