MATLAB一道期末题,求高手解答啊

用MATLAB随机产生60个1到365之间的正整数,应使用下面哪一条命令?

A.fix(365*rand(1,60)) B.1+fix(366*rand(1,60))
C.1+fix(364*rand(1,60)) D.1+fix(365*rand(1,60))

A和C都可以排除,但为什么给的答案是B,想不通啊啊啊啊啊啊,求大神啊

答案应该是D。理由:
rand(1,60)--------------------产生60个0-1之间的随机数;
366*rand(1,60)-------------上面60个数的范围变成(0,366)之间,不包括0和366;
fix(366*rand(1,60))---------fix是向零方向取整,所以0-1之间的数就变为0,365-366之间的数就变为365;
结论:
1+fix(366*rand(1,60))------产生60个1到366之间的正整数;
1+fix(365*rand(1,60))------产生60个1到365之间的正整数;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-04
应该是D吧?
相似回答