MATLAB一道期末题,求高手解答啊
用MATLAB随机产生60个1到365之间的正整数,应使用下面哪一条命令?A.fix(365*rand(1,60))B.1+fix(366*rand(1,60))C.1+...
用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,想不通啊啊啊啊啊啊,求大神啊 展开
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,想不通啊啊啊啊啊啊,求大神啊 展开
2个回答
展开全部
答案应该是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之间的正整数;
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之间的正整数;
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询