I need to randomly generate 5 points delimited in (0< X< 50) and ( 0< Y< 50)and automatically arrange these in increasing value

 Réponse acceptée

Ameer Hamza
Ameer Hamza le 27 Nov 2020

0 votes

You can sort the randomly generated values
x = sort(randi([1 49], 5, 1));
y = sort(randi([1 49], 5, 1));

7 commentaires

Sawera Zahra
Sawera Zahra le 27 Nov 2020
What if point should be between P(0,0) and last one P(4,0)
It means that y axis is constant 0. Following shows a more general approach
x_lims = [0 4];
y_lims = [0 0];
n = 5;
x = sort(rand(n,1)*diff(x_lims)+x_lims(1))
y = sort(rand(n,1)*diff(y_lims)+y_lims(1))
Sawera Zahra
Sawera Zahra le 27 Nov 2020
Thank you for this answer It helped me alot. Now the delimited conditions are changed with (0= <x =< 50)(0= <y =< 50) and z =50
The above code already shows the pattern
x_lims = [0 50];
y_lims = [0 50];
z_lims = [50 50];
n = 5;
x = sort(rand(n,1)*diff(x_lims)+x_lims(1))
y = sort(rand(n,1)*diff(y_lims)+y_lims(1))
z = sort(rand(n,1)*diff(z_lims)+z_lims(1))
Sawera Zahra
Sawera Zahra le 27 Nov 2020
This seems to be closer to the problem' s solution but starting point and ending points should be P0,0 and P 4, 0 respectively
Sawera Zahra
Sawera Zahra le 27 Nov 2020
Within above x, y, z limits*
You can use rescale in that case
x_lims = [0 50];
y_lims = [0 50];
z_lims = [50 50];
n = 5;
x = rescale(sort(rand(n,1)), x_lims(1), x_lims(2))
y = rescale(sort(rand(n,1)), y_lims(1), y_lims(2))
z = rescale(sort(rand(n,1)), z_lims(1), z_lims(2))

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Produits

Version

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by