File Exchange

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.

1 Download

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 (2020). Difference Matrix (https://www.mathworks.com/matlabcentral/fileexchange/27270-difference-matrix), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (1)

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