convert array A values to indices of array B
12 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
hi,
lets say I have a 10x10 array A with (4,4) = -2 and (6,6) = 2 . How would I construct an array B such that these values mean the shift in horizontal direction, e.g array B is zeros, except B(4,2) = 2 and B(6,8) = -2 ?
many thanks!
0 commentaires
Réponse acceptée
Guillaume
le 30 Jan 2015
Possibly, this is what you want, although it's not clear where the values to go in B come from:
A = zeros(10);
A(4, 4) = -2;
A(6, 6) = 2;
[r, c] = find(A); %find original coordinates of non zero values
c = c + nonzeros(A); %shift by value at coordinates
B = zeros(size(A));
B(sub2ind(size(B), r, c)) = -nonzeros(A) %are the values just the negative of the original ones?
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Operators and Elementary Operations 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!