How do I add values to a vector instead of replacing them?
Show older comments
Hey I'm trying to combine all IDs for pictures into a vector to use in a function but when I write this loop the values get replaced and i only get the value of the last i.
for i = 1:(length(p))
allIDs = [p(i) ImageIDs(1) ImageIDs(2) ImageIDs(3) ImageIDs(4)];
end
If I write "allIDs(i)" instead I get an error message saying they aren't compatible. How can I write this loop instead? Any help would be appreciated.
Accepted Answer
More Answers (2)
Guillaume
on 19 Oct 2018
All the answers assume you want to create a matrix, I'm not sure that's what you want since you mention a vector. In any case, I see nothing in the code given that warrants a loop, so allIDs as a matrix could be created in one fell swoop with:
allIDs = [p(:), repmat(ImageIDs(1:4), numel(p), 1)];
As said, I'm not convinced that's what's desired but if it's not a better explanation is required, in particular, an explanation of what p and ImageIDs are (size, type).
Categories
Find more on Multi-Object Trackers 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!