% Usage: D = diff1(n) % % Return an (n+1) x n matrix representing center-difference differentiation % on a grid of n points with spacing 1 and Dirichlet (0) boundary conditions, % where the n+1 resulting points (the column space of D) correspond to % the approximate derivatives midway between the grid points, including % the boundaries (i.e. the points at 0.5, 1.5, ...., n+0.5). % % The n x n discrete 1d Laplacian matrix is -diff1(n)' * diff1(n) function D = diff1(n) D = -diag(ones(n,1)) + diag(ones(n-1,1),1); D = [ [1,zeros(1,n-1)]; D];