Red de conocimiento informático - Descarga de software - ¿Cómo utilizar matlab para generar 100 puntos en la esfera unitaria?

¿Cómo utilizar matlab para generar 100 puntos en la esfera unitaria?

El método dado por tu profesor es generar parámetros aleatorios θ y z. También puedes:

1 Generar tres variables en secuencia bajo restricciones esféricas. Por supuesto, los puntos obtenidos de esta forma no son uniformes y deben ordenarse aleatoriamente:

xyz = cero (n, 3);

Para i = 1:n

x = 2 * rand-1;

y = sqrt(1-x.^2).*(2 * rand-1); 2*randi (0:1)-1). *sqrt(1-x.^2-y.^2);

t = [x, y, z];

xyz(i,)= t(rand permanente (3));

Fin

plot3(xyz(:, 1), xyz(:, 2), xyz(:, 3), ' b . '); /p>

2 Generar aleatoriamente θ y β:

xyz = cero (n, 3

Para i = 1: n

θ); = 2 * pi * rand;

beta = 2 * pi * rand

xyz(i, :=[cos(beta)*[cos(theta)sin(theta)] sin(beta)];

Fin

plot3(xyz(:, 1), xyz(:, 2), xyz(:, 3), ' b . ');

3. Genere dos distribuciones gaussianas independientes e idénticamente distribuidas y normalícelas a una esfera:

S = randn(n, 3);

xyz = bsxfun (@rdivide,S,sqrt(suma(S.*S,2)));

plot3(xyz(:,1),xyz(:,2),xyz(:, 3), ' b. ');

El último método es el más simple y rápido

La próxima vez elija la categoría de preguntas como programación

.