convert array A values to indices of array B
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
Akzeptierte Antwort
Guillaume
am 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?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Operators and Elementary Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!