Generation of an Odd numbers only

Hello every one I would like to generate a series of random odd numbers with in a specific range for example the range from 1 to 20 the odd number for example 1,3,5,7,9,11,13,15,17,19

 Réponse acceptée

Star Strider
Star Strider le 12 Oct 2014
Modifié(e) : Star Strider le 12 Oct 2014
My approach:
x = 1:20;
odv = x(rem(x,2)==1);
n = 10; % Length Of Series
oddrnd = odv(randi(length(odv),1,n));

9 commentaires

Image Analyst
Image Analyst le 12 Oct 2014
Modifié(e) : Image Analyst le 12 Oct 2014
Almost the same as my code - you beat me to it:
oddNumbers = 1 : 2 : 19; % End at whatever number you want.
numbersToGenerate = 100; % Whatever you want.
values = oddNumbers(randi(length(oddNumbers), 1, numbersToGenerate))
Star Strider
Star Strider le 12 Oct 2014
I know that feeling only too well!
aya
aya le 12 Oct 2014
It works fine but it gave me a matrix how can I get one value each time???????
To get one value each time, set:
n = 1;
aya
aya le 12 Oct 2014
I was just trying that and it works thanx
Star Strider
Star Strider le 12 Oct 2014
My pleasure!
Image Analyst's code is nicer. Star Strider seemed to forget you can create an odd array by using
1:2:20
Star Strider
Star Strider le 12 Oct 2014
I didn’t forget, and I considered the (2*n+1) possibility as well. I simply chose the most obvious solution.
David Barry
David Barry le 12 Oct 2014
I would argue that 1:2:20 is more obvious and beginner friendly than your solution.

Connectez-vous pour commenter.

Plus de réponses (6)

Guillaume
Guillaume le 12 Oct 2014
Modifié(e) : Guillaume le 12 Oct 2014
How about?
(randi(10, 1, serieslength) - 1) * 2 + 1; %replace serieslength by actual length of series.
That is generate random integers between 0 and 9, multiply by 2 and add 1.

2 commentaires

aya
aya le 12 Oct 2014
its generate integers between 0:20? How I make generate randoms with in the values I that I want
Guillaume
Guillaume le 12 Oct 2014
Modifié(e) : Guillaume le 12 Oct 2014
It generates odd numbers between 1 and 19. It's not particularly hard to figure out how to do it for other ranges
halfrange = (maxrange - minrange) / 2; %replace max and min by actual values, values must be odd.
(randi(halfrange, 1, serieslength) - 1) * 2 + minrange;

Connectez-vous pour commenter.

Noor elhamed
Noor elhamed le 28 Avr 2017

0 votes

How to write the code using user defined function?
Gorret Komuhendo
Gorret Komuhendo le 8 Fév 2021

0 votes

How do I find the MATLAB command which generate the following lists 1. The odd number 1,3,...99 2. The numbers 10,20,30,...120? Can you help me please
Chathurni Ratwatte
Chathurni Ratwatte le 17 Mai 2021

0 votes

Create the vector consisting of the whole odd numbers between 15 and 27
FAISAL
FAISAL le 9 Avr 2023

0 votes

Create a scalar of an odd number

1 commentaire

for K = 1 : 5
scalar = randi([0 65535]) * 2 + 1
end
scalar = 120775
scalar = 130513
scalar = 43441
scalar = 97309
scalar = 26623

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by