Matlab中,组合数公式怎么写

如题所述

从你的函数体看,该函数的功能是求n的阶乘,但是这个函数应该有一个返回值,修改如下:
function y=N1(n)
a=1;
for t=1:n
a=a*t;
end
y=a;

这样就OK了,值得注意的是这里的循环变量最好不要用i,这是因为i在matlab里面表示虚数单位,i参与四则运算的时候就很可能作为虚数单位来处理,所以应该尽量避免这种情况。

其实Matlab里面早就有阶乘的函数:
factorial(n)
求组合数也有现成的命令:
nchoosek(n,k)
该函数返回:n!/((n-k)!*k!)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-03-30
function y=N1(n)
a=1;
for t=1:n
a=a*t;
end
y=a;本回答被网友采纳
相似回答