convert array A values to indices of array B
5 views (last 30 days)
Show older comments
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 Comments
Accepted Answer
Guillaume
on 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?
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!