Vectorizing Array -- Wrong Dimensions?
Show older comments
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 Comments
Azzi Abdelmalek
on 8 Jul 2015
Edited: Azzi Abdelmalek
on 8 Jul 2015
This is not clear, what is sample.RIGHT_GAZE_X-loc? what is the value of setsize?
Nick G
on 8 Jul 2015
Jan
on 8 Jul 2015
Which one is "the output matrix"?
Nick G
on 8 Jul 2015
Nick G
on 8 Jul 2015
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 8 Jul 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)
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!