difference matrix??
4 views (last 30 days)
Show older comments
I'm not sure what this is called, but I want to calculate the cross-differences?? of values in a matrix such that:
f(
1 5 8
3 6 7
4 5 2
6 8 1
)
produces:
[
0 4 7
-4 0 3
-7 -3 0
]
[
0 3 4
-3 0 1
-4 -1 0
]
[
0 1 -2
-1 0 3
2 -3 0
]
[
0 2 -5
-2 0 -7
5 7 0
]
does anyone know what this is called, and how I can do it?
0 Comments
Accepted Answer
Sean de Wolski
on 24 Apr 2012
x = [1 5 8
3 6 7
4 5 2
6 8 1]';
sz = size(x);
C = bsxfun(@minus,reshape(x,1,sz(1),sz(2)),reshape(x,sz(1),1,sz(2)))
2 Comments
Sean de Wolski
on 24 Apr 2012
Nope. But I do know that it is very bsxfun-friendly and that makes it cool.
More Answers (0)
See Also
Categories
Find more on Logical in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!