MATLAB: Selection of Matrix Elements without for loop

arrayimage processingMATLAB and Simulink Student Suitematrix

I have a matrix of cooardinates like this :
A = [1 3;2 4;7 9];
And a Matrix 9×9:
B = rand(9);
How can I select B's elements in A cooardinest (for example : B(1,3) & B(2,4) & B(7,9)) without using a for loop.
Assuming that in my original code A has too many rows, ( more than 10K) and B is an image with too many points either.
As a matter of fact, I have some pixels' coordinates, and want to just update their's value in the original image by some formula. But I don't want to use for loop for selecting each pixel.

Best Answer

  • B(sub2ind(size(B),A(:,1),A(:,2)))