generate random numbers between limits and satisfy condition

1 visualización (últimos 30 días)
mounika
mounika el 12 de Feb. de 2021
Editada: mounika el 12 de Feb. de 2021
Hello All,
I am trying to generate two sets of 16 length random number sequences.
x1, x2, x3 ...x16
y1, y2, y3 ...y16
Conditions:
(x,y) lies between 5000 and 6000
The separation between x(n) and x(n+1) should be between +/-(20 - 100). It need not be equally spaced.
The separation between x(n) and y(n) should be +/- 300. The y(n) also should belong to 5000 - 6000 range
I need to check how many such sets can satisfy these conditions.
Kindly help me with a logic or the best way to implement in MATLAB

Respuestas (1)

KSSV
KSSV el 12 de Feb. de 2021
Editada: KSSV el 12 de Feb. de 2021
How about something like this?
a = 5000 ; b = 6000 ;
x = zeros(1,16) ;
x(1) = randi([a b],1,1) ;
for i = 2:16
x(i) = randi([x(i-1)+20 x(i-1)+100],1,1) ;
end
diff(x)
  3 comentarios
KSSV
KSSV el 12 de Feb. de 2021
Edited the code.... generating y you have to try. :)
mounika
mounika el 12 de Feb. de 2021
Editada: mounika el 12 de Feb. de 2021
Thank you again for your respone. I generated Y sequence. but the diff is not maintained for Y. (Please see the attached screenshot)
Also, I was wondering by doing [x(i-1)+20 x(i-1)+100] aren't we missing out the other numbers as in,
if x(i-1) = 5510,
x(i-1)+20 = 5530, aren't we missing x(i-1)-20 = 5490. Similarly for x(i-1)+100.
Also, it is important that x(i-1)+20 / x(i-1) -20/ x(i-1)+100 / x(i-1)-100 should belong to the range of 5000 and 6000
By ignoring those numbers, Am i going to miss number of sequences that can be formed with these conditions. Kindly advise

Iniciar sesión para comentar.

Categorías

Más información sobre Random Number Generation en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by