matlab中randi函数替换randint函数

最近在跑matlab仿真代码,遇到很多函数名改变的问题,通常是两个函数作用相同,但是用法不同,randi函数替换randint函数是我最近遇到比较频繁的问题。

报错:

compare_DFT_spreading
函数或变量 'randint' 无法识别。

修改方法:

新函数randi([0,1],2,1)等价于老函数randint(2,1)

   mod_sym = A*modulate(mod_object,randi([1,M-1],1,Ndb));
   %mod_sym = A*modulate(mod_object,randint(1,Ndb,M));原代码

原理:

randint的功能:randint在MATLAB中用于产生基质的均匀分布的随机整数。
randint用法:M = randint ,则产生一个“ 0 ”或“ 1 ”等概率。
M = randint(N)
则生成的N矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
M= randint(A,B)
则生成的(A,B) 矩阵的随机二进制数字,“ 0 ”和“ 1 ”出现的概率均等。
M = randint(A,B,range)
则生成的(M,N) 矩阵的随机二进制数字,RANGE 范围可以是标量或向量:
标量 :为正的话,取值为[0,range-1] ,为负的话,取值为 [range+1, 0]。
向量 : 取值为[range(1), range(2)]。

randi的功能:此 MATLAB 函数 返回一个介于 1 和 imax 之间的伪随机整数标量。
randi用法
M = randi([imin,imax],m,n)
参数解释:
[imin,imax]表示生成的伪随机数为闭区间[imin,imax]上的所有整数,m,n表示生成伪随机矩阵是m*n维

你可能感兴趣的:(matlab)