image thumbnail

Difference Matrix

version 1.0.0.0 (1.45 KB) by Zachary Danziger
Builds the matrix that takes the column-wise difference of another matrix when post-multiplied.

483 Downloads

Updated 16 Apr 2010

View License

D = diffMat(obs,type)

Creates a difference matrix, D, that when multiplied by by another matrix takes its difference over obs columns. The type is either 'circular' or 'none'. The defalt is 'none'.

EXAMPLE
B = [2:1:8;sin(linspace(0,pi,7))]
B =
2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000
0 0.5000 0.8660 1.0000 0.8660 0.5000 0.0000

D = diffMat(size(B,2));
B*D
ans =
-1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
-0.5000 -0.3660 -0.1340 0.1340 0.3660 0.5000

B*diffMat(size(B,2),'circular')
ans =
-1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000 6.0000
-0.5000 -0.3660 -0.1340 0.1340 0.3660 0.5000 0.0000

Cite As

Zachary Danziger (2021). Difference Matrix (https://www.mathworks.com/matlabcentral/fileexchange/27270-difference-matrix), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2009a
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!