【求助】组合数公式Cn m的Matlab修改,急请问我编写Cn m时出现错误帮我改下,function N1(n)a=1;for i=1:na=a*i;end输入>>N1(6)/N1(3)*N1(3) %求C3 6Error using ==> N1Too many output arguments.请问怎么修改?

来源:学生作业帮助网 编辑:作业帮 时间:2024/10/19 21:53:57
【求助】组合数公式Cn m的Matlab修改,急请问我编写Cn m时出现错误帮我改下,function N1(n)a=1;for i=1:na=a*i;end输入>>N1(6)/N1(3)*N1(3) %求C3 6Error using ==> N1Too many output arguments.请问怎么修改?
xSN@ BbQth7CZ!(q 4Dh B^N>c{_'Dm7;=3hN/-ؽ~Yv؆W./Q"q[,o >Bf dzV픪a@ǽtWdYST",̯1AfY@ aʜ?['naV{aU"5AB[U"2ԄMh[KDV6i7a.@+K^c^eî =5$~ ^)h?O3dIRgb6YNv+"5GUڹ+aЎA{T -cp00!L PِdDn}E 2d0P80i'g_lZ"T NOz3  u޳G.!5sdZ U{TZe]"f`tԬKqΓV1-\9hA*P/9wVH@d$V67deM)NLXd٢[o}%Y~񕰏a d*atx ģ2 'Qy

【求助】组合数公式Cn m的Matlab修改,急请问我编写Cn m时出现错误帮我改下,function N1(n)a=1;for i=1:na=a*i;end输入>>N1(6)/N1(3)*N1(3) %求C3 6Error using ==> N1Too many output arguments.请问怎么修改?
【求助】组合数公式Cn m的Matlab修改,急
请问我编写Cn m时出现错误帮我改下,
function N1(n)
a=1;
for i=1:n
a=a*i;
end
输入
>>N1(6)/N1(3)*N1(3) %求C3 6
Error using ==> N1
Too many output arguments.
请问怎么修改?

【求助】组合数公式Cn m的Matlab修改,急请问我编写Cn m时出现错误帮我改下,function N1(n)a=1;for i=1:na=a*i;end输入>>N1(6)/N1(3)*N1(3) %求C3 6Error using ==> N1Too many output arguments.请问怎么修改?
从你的函数体看,该函数的功能是求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!)