# how can replace randi instead randint?

136 views (last 30 days)
mohamad gholami on 2 Jan 2018
Answered: HONG CHENG on 28 Apr 2022
hi ;i have a question please help me , i want to replace randi instead randint in ofdm_basic code in r2017a , but i dont know how i must do it . please answer and help me . this is that line :
X=randint(1,Nused*Nframe,M); % bit: integer vector

Jan on 2 Jan 2018
Edited: Jan on 2 Jan 2018
Do you mean randint from the Communications Toolbox or is this from Octave code?
I assume, for both the answer is the same: It depends on what M is.
• [0, range-1] if range is a positive integer
• [range+1, 0] if range is a negative integer
• Between min and max, inclusive, if range = [min,max] or [max,min]
% X = randint(1, Nused*Nframe, M)
if length(M) == 1
if M > 0
Range = [0, M-1];
else
Range = [M+1, 0];
end
else
Range = [min(M), max(M)];
end
X = randi(Range, 1, Nused*Nframe);
I do not have this toolbox, but I guess that you should find something like this, if you look into the randint function:
edit randint
##### 1 CommentShowHide None
mohamad gholami on 2 Jan 2018
thank my friend . in next answer i explain . please read that

### More Answers (5)

Geoff Hayes on 2 Jan 2018
mohamad - which ofdm_basic code are you referring to? Is this something found on the MATLAB FileExchange or something else? From Communications System Toolbox Release Notes, it looks like randint has been removed from the Communications System Toolbox and is to be replaced with randi.
If we assume that the code
X=randint(1,Nused*Nframe,M)
creates a 1x(Nused*Nframe) matrix with integers in the interval [0,M-1], then we can replace the above with
X = randi(M, 1, Nused*Nframe) - 1;
I think that will work...
Geoff Hayes on 3 Jan 2018
ummm...see randi and then replace your one line of code with this one...

Mochan Yang on 22 Jul 2019
bitstream=randi(2,1,N)-1
##### 1 CommentShowHide None
Walter Roberson on 22 Jul 2019
bitstream = randi([0 1], 1, N);
or
bitstream = rand(1,N) >= 0.5;

Yusuf lamah on 22 Mar 2020
thank you very much

khalil nasri on 6 Mar 2021
randn( )>0;
##### 1 CommentShowHide None
Walter Roberson on 6 Mar 2021
Normal distribution has peak probability at 0 exactly. Does testing for strict greater than give 50% exactly?

HONG CHENG on 28 Apr 2022
you can look at this link
Specifically
You just need to change the order of paramters
a=randint(3,4,[1,4]);
a=randi([1,4],3,4);