How to put the values into the specific location?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 :')
0 commentaires
Réponse acceptée
Andrei Bobrov
le 3 Mai 2012
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;
2 commentaires
Andrei Bobrov
le 3 Mai 2012
please read about functions:
sub2ind - http://www.mathworks.com/help/techdoc/ref/sub2ind.html;
bsxfun - http://www.mathworks.com/help/techdoc/ref/bsxfun.html.
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!