how can replace randi instead randint?

38 vues (au cours des 30 derniers jours)
mohamad gholami
mohamad gholami le 2 Jan 2018
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

Réponse acceptée

Jan
Jan le 2 Jan 2018
Modifié(e) : Jan le 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 commentaire
mohamad gholami
mohamad gholami le 2 Jan 2018
thank my friend . in next answer i explain . please read that

Connectez-vous pour commenter.

Plus de réponses (5)

Geoff Hayes
Geoff Hayes le 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...
  4 commentaires
mohamad gholami
mohamad gholami le 2 Jan 2018
thanks a lot . but please explain this line and this change for me
Geoff Hayes
Geoff Hayes le 3 Jan 2018
ummm...see randi and then replace your one line of code with this one...

Connectez-vous pour commenter.


Mochan Yang
Mochan Yang le 22 Juil 2019
bitstream=randi(2,1,N)-1
  1 commentaire
Walter Roberson
Walter Roberson le 22 Juil 2019
bitstream = randi([0 1], 1, N);
or
bitstream = rand(1,N) >= 0.5;

Connectez-vous pour commenter.


Yusuf lamah
Yusuf lamah le 22 Mar 2020
thank you very much

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

Connectez-vous pour commenter.


HONG CHENG
HONG CHENG le 28 Avr 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);

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by