Borrar filtros
Borrar filtros

Generate 2 random numbers x and y for 10 times in a loop. x can take any value in the range of (0,1) but y is conditioned on x such that y assumes any number between (0,1-x)

6 visualizaciones (últimos 30 días)
for i=1:10
random_x=rand
random_y=

Respuesta aceptada

Samay Sagar
Samay Sagar el 21 de Jun. de 2023
You can use the following to generate random numbers between 0 and 1-x
y=rand()*(1-x)
%To generate random no.s between a and b : y = a + rand()*(b-a)

Más respuestas (2)

RANGA BHARATH
RANGA BHARATH el 21 de Jun. de 2023
Editada: RANGA BHARATH el 21 de Jun. de 2023
Hi @Payel. Here is the solution and code for your question.
Question: How to use the rand() function when the range parameters are conditioned on any other variable?
Solution:
You can simply define the independent variable first and then use it in defining the dependent variable.
To be more specific, once you define the x, you can use y = rand()*(1 - x).
Code:
x = zeros(1,10);
y = zeros(1,10);
for i=1:10
temp = rand(1);
x(1,i) = temp;
y(1,i) = rand(1)*(1-temp);
end
x
x = 1×10
0.6590 0.7347 0.9144 0.6091 0.3819 0.4112 0.1823 0.8654 0.5492 0.6796
y
y = 1×10
0.3405 0.1315 0.0718 0.1244 0.3935 0.3454 0.7109 0.1107 0.1352 0.1733

Aakash
Aakash el 21 de Jun. de 2023
You can use this:
for i = 1:10
x = rand();
y = rand()*(1-x);
end

Categorías

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

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by