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

 Risposta accettata

Star Strider
Star Strider il 12 Ott 2014
Modificato: Star Strider il 12 Ott 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 Commenti

Image Analyst
Image Analyst il 12 Ott 2014
Modificato: Image Analyst il 12 Ott 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))
I know that feeling only too well!
aya
aya il 12 Ott 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 il 12 Ott 2014
I was just trying that and it works thanx
My pleasure!
Image Analyst's code is nicer. Star Strider seemed to forget you can create an odd array by using
1:2:20
I didn’t forget, and I considered the (2*n+1) possibility as well. I simply chose the most obvious solution.
I would argue that 1:2:20 is more obvious and beginner friendly than your solution.

Accedi per commentare.

Più risposte (6)

Guillaume
Guillaume il 12 Ott 2014
Modificato: Guillaume il 12 Ott 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 Commenti

aya
aya il 12 Ott 2014
its generate integers between 0:20? How I make generate randoms with in the values I that I want
Guillaume
Guillaume il 12 Ott 2014
Modificato: Guillaume il 12 Ott 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;

Accedi per commentare.

Noor elhamed
Noor elhamed il 28 Apr 2017

0 voti

How to write the code using user defined function?
Gorret Komuhendo
Gorret Komuhendo il 8 Feb 2021

0 voti

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 il 17 Mag 2021

0 voti

Create the vector consisting of the whole odd numbers between 15 and 27
FAISAL
FAISAL il 9 Apr 2023

0 voti

Create a scalar of an odd number

1 Commento

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

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by