MATLAB: How to put the values into the specific location

locationput values to matrix

I have a list of location like this:
location =
1 2
1 4
2 3
4 2
From above, it describes thatt the location is (1,2),(1,4),(2,3),and (4,2)
Then i have a values like this:
Values =
55
22
99
11
I want to put the values into the location above. So the result of matrix A is like this:
A =
2 55 4 22
4 7 99 5
9 1 2 5
7 11 4 2
What to do?
Thanks before :')

Best Answer

A = zeros(4);
location =[...
1 2
1 4
2 3
4 2];
Values =[...
55
22
99
11];
A(sub2ind(size(A),location(:,1),location(:,2))) = Values;
OR:
A(bsxfun(@minus,location,[0 1])*[1;size(A,1)]) = Values;