How do I create multiple column vectors from one big column vector?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I have two column vectors, objx and objy, both of which contain 20,160 floats. I need to dice it up every 48 iterations to create voronoi figures. There will be 420 voronoi diagrams. How do I go about creating smaller vectors each of which containg 48 floats each to create these voronoi diagrams?
5 commentaires
Adam Danz
le 24 Mar 2020
That's clear. The comma in 20,160 threw me off. There's no need to use a comma unless the number of digits is very large.
Réponse acceptée
Ameer Hamza
le 24 Mar 2020
Modifié(e) : Ameer Hamza
le 24 Mar 2020
Try this
X = reshape(objx, 48, 420); % X is 48*420
Y = reshape(objy, 48, 420); % Y is 48*420
% loop will run 420 times
for i=1:size(X,2)
x = X(:,i); % x is 48*1
y = Y(:,i); % y is 48*1
voronoi(x,y);
% save the voronoi diagram
end
11 commentaires
Ameer Hamza
le 25 Mar 2020
@Adam, thanks for suggesting the improvements. I am not sure whether it will make any difference for reshaping function that input is a row or column vector, as long as it has just one dimension. For higher-order matrices, we need to be careful about the arrangement of elements.
Adam Danz
le 25 Mar 2020
That's true; a col or row vector will result in the same reshape. My mind may have still been on the possibility of cell arrays converted to matrices.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Voronoi Diagram 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!