Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】

如何使用MATLAB生成一个[a,b]范围内的随机整数。比如:随机生成[9,13]范围内的一个(或多个)整数~

首先感谢@slandarer的指正,现已经更改。
①. round() 为四舍五入取整,而非向上取整。
②. 方法1为一个较为不错的方法。

方法1:randi()函数【比较简单直白】

randi([9 13])

结果:
Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】_第1张图片

关于randi([ ])函数

Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】_第2张图片

方法2 rand()+round()函数【稍微复杂】

**要求**:生成一个[9,13]范围内的数(double);
1、先生成一个[0,1]范围内的数(double);  % 如0.90
2、乘以4,1中的范围变为[0 4]; 	%0.90*4=3.6
3、整体+9,2中的范围同时增加9,变为[9 13](double); %如3.6+9=11.6
4、用round()函数四舍五入取整;	%如round(11.6)=12
5、得出结果。%如12

具体表达为:

round(rand(1,1)*4)+9

Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】_第3张图片

关于rand()函数

rand(1,1):生成[0,1]的一个数
rand(1,2):生成1行2列的数
rand(2,2):生成2行2列的数
Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】_第4张图片

关于round()函数

Matlab 如何生成一个[a,b]范围内随机整数的2种方法【已经解决】_第5张图片

你可能感兴趣的:(MATLAB,matlab,a-b的随机整数,rand,round,四舍五入取整)