Diventa così:
A=-1; B=1;
v=A+(B-A)*rand(100000,3); %cubo uniforme
%plot3(v(:,1),v(:,2),v(:,3),'.b','MarkerSize',1)
d = v(:,1).^2 + v(:,2).^2 + v(:,3).^2;
posizioni=find(d<=1 & v(:,3)>=0); %cerco quei punti che stanno nella sfera di raggio 1
condizione=v(posizioni,:); %salvo i punti che stanno nella sfera
figure()
% plot3(v(:,1),v(:,2),v(:,3),'.y','MarkerSize',1)
% hold on
plot3(condizione(:,1),condizione(:,2),condizione(:,3),'.k','MarkerSize', 1)
modulo_quadro=condizione(:,1).^2+condizione(:,2).^2+condizione(:,3).^2;
modulo=sqrt(modulo_quadro);
versore=[condizione(:,1)./modulo(:) condizione(:,2)./modulo(:) condizione(:,3)./modulo(:)] ;
figure()
plot3(versore(:,1),versore(:,2),versore(:,3), '.', 'MarkerSize',1)
anzi, per quello che serve dopo deve essere
plot3(versore(:,3),versore(:,2),versore(:,1), '.', 'MarkerSize',1)