Difference Matrix

Builds the matrix that takes the column-wise difference of another matrix when post-multiplied.
504 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 (2024). 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
Categories
Find more on Polynomials in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes
1.0.0.0