Create random numbers inside a specific plane in xy plane

9 visualizaciones (últimos 30 días)
NEFELI GAROUFALI
NEFELI GAROUFALI el 28 de Jun. de 2022
Editada: Torsten el 28 de Jun. de 2022
Hello everyone!
I am trying to generate some samples. These samples are evenly distributed in rectangular regions of R^2.
To be more specific I want to generate 400 samples in the parallelogram [2,8] x [1,2]
and 100 (different) samples in the parallelogram [ 6 , 8 ] × [ 2.5 , 5.5 ].
Finally I want to plot them in the xy plane.
I have spent hours of searching. Any help appreciated.
Thanks in advance !

Respuestas (2)

Matt J
Matt J el 28 de Jun. de 2022
I don't understand how you are specifying your parallelograms. However, one way is to use ndgrid and then apply a shear:
[X,Y]=ndgrid(1:10);
X=X(:);
Y=Y(:)+0.5*X(:);
scatter(X,Y)
  2 comentarios
NEFELI GAROUFALI
NEFELI GAROUFALI el 28 de Jun. de 2022
@Matt J Thank you very much for your response.
The first parallelogram has edges the points (2, 1) (8, 1) (2, 2) (8, 2)
And the second parallelogram has edges the points (6, 2.5) (8, 2.5) (6, 5.5) (8, 5.5)
Also the samples must be random. Like a "cluster" perhaps. From the searching I did I think this should be done maybe with function rand or something like this.
Matt J
Matt J el 28 de Jun. de 2022
Editada: Matt J el 28 de Jun. de 2022
Yes, the same idea applies with rand
N=40;
[X,Y]=deal(rand(N), rand(N));
X=X(:);
Y=Y(:)+0.5*X(:);
scatter(X,Y)

Iniciar sesión para comentar.


Torsten
Torsten el 28 de Jun. de 2022
Editada: Torsten el 28 de Jun. de 2022
rng("default")
x = [2;8];
y = [1;2];
R = rand(2,400)
R = 2×400
0.8147 0.1270 0.6324 0.2785 0.9575 0.1576 0.9572 0.8003 0.4218 0.7922 0.6557 0.8491 0.6787 0.7431 0.6555 0.7060 0.2769 0.0971 0.6948 0.9502 0.4387 0.7655 0.1869 0.4456 0.7094 0.2760 0.6551 0.1190 0.9597 0.5853 0.9058 0.9134 0.0975 0.5469 0.9649 0.9706 0.4854 0.1419 0.9157 0.9595 0.0357 0.9340 0.7577 0.3922 0.1712 0.0318 0.0462 0.8235 0.3171 0.0344 0.3816 0.7952 0.4898 0.6463 0.7547 0.6797 0.1626 0.4984 0.3404 0.2238
S = [x(1);y(1)]+[[x(2)-x(1);0],[0;y(2)-y(1)]]*R
S = 2×400
6.8883 2.7619 5.7942 3.6710 7.7450 2.9457 7.7430 6.8017 4.5306 6.7532 5.9344 7.0948 6.0724 6.4588 5.9329 6.2363 3.6615 2.5828 6.1690 7.7013 4.6325 6.5931 3.1212 4.6735 6.2562 3.6562 5.9306 2.7140 7.7585 5.5116 1.9058 1.9134 1.0975 1.5469 1.9649 1.9706 1.4854 1.1419 1.9157 1.9595 1.0357 1.9340 1.7577 1.3922 1.1712 1.0318 1.0462 1.8235 1.3171 1.0344 1.3816 1.7952 1.4898 1.6463 1.7547 1.6797 1.1626 1.4984 1.3404 1.2238

Categorías

Más información sobre Creating and Concatenating Matrices 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