Plotting the set of all unit vectors in different norms efficiently?
46 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to plot the set of all unit vectors in different norms and this is the code I've managed to make so far, the issue is that using randn is going to give me lots of redundant points and I'm looking for a cleaner way to plot this without having to rely on randn. I still want the values to be represented as vectors so that I can later apply transformations on them. Any ideas?
function plotUnitNorm(normType)
X = randn(10000,2);
if(strcmp(normType,'inf'))
p_norm = max(abs(X), [], 2);
end
if(strcmp(normType,'1'))
p_norm = sum(abs(X),2);
end
if(strcmp(normType,'2'))
p_norm = sum(abs(X).^2,2).^(1/2);
end
Xn = bsxfun(@times, X, 1./p_norm);
figure(1); scatter(Xn(:, 1), Xn(:, 2), '.');
end
0 commentaires
Réponses (1)
Thiago Henrique Gomes Lobato
le 9 Fév 2020
Just make a meshgrid and convert it to a vector
%X = randn(10000,2);
step = 0.02;
[Xi,Yi] = meshgrid(-1:step:1,-1:step:1);
X = [Xi(1:end)',Yi(1:end)'];
if(strcmp(normType,'inf'))
p_norm = max(abs(X), [], 2);
end
...
Voir également
Catégories
En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!