Vectorizing Array -- Wrong Dimensions?
Afficher commentaires plus anciens
Hi all, I'm a native C programmer and am having a hard time understanding Matlab's behavior.
I have three arrays:
sample.currtargdist (2252 x 1)
sample.targloc (1 x 2552)
distance (6 x 2252)
I can't figure out why this code results in a 2252 x 2252 matrix:
for s = 1:setsize;
distance(s,:) = sqrt((sample.RIGHT_GAZE_X-loc(s).x).^2+(sample.RIGHT_GAZE_Y-loc(s).y).^2);
end
sample.currtargdist = distance(sample.targLoc,:);
When I try something like a '1' instead of ':', I just get the first column of the matrix. I want just the first row of the output matrix.
6 commentaires
Azzi Abdelmalek
le 8 Juil 2015
Modifié(e) : Azzi Abdelmalek
le 8 Juil 2015
This is not clear, what is sample.RIGHT_GAZE_X-loc? what is the value of setsize?
Nick G
le 8 Juil 2015
Jan
le 8 Juil 2015
Which one is "the output matrix"?
Nick G
le 8 Juil 2015
Nick G
le 8 Juil 2015
Réponse acceptée
Plus de réponses (1)
Azzi Abdelmalek
le 8 Juil 2015
0 votes
Probably, the value of setsize is 2252, or maybe in your code, you have pre-allocated the variable distance with zeros(2252,2252)
Catégories
En savoir plus sur Logical dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!