fdmat.m

From Spinach Documentation Wiki
Jump to: navigation, search

Returns arbitrary-order central finite-difference differentiation matrices (sparse) with unit grid point spacing.

Syntax

    D=fdmat(dim,nstenc,order,boundary)

Arguments

    dim       - dimension of the column vector to be
                differentiated

    nstenc    - number of points in the finite diffe-
                rence stencil

    order     - order of the derivative required

    boundary  - 'wall' fills the edges with sided
                finite difference schemes, 'pbc'
                assumes periodic boundaries. The
                default is 'pbc'.

Outputs

    D      - finite difference differentiation matrix

Examples

A three-point second derivative matrix designed to act on a vector with ten elements with periodic boundary conditions is:

 >> full(fdmat(10,3,2,'pbc'))

 ans =

     -2     1     0     0     0     0     0     0     0     1
      1    -2     1     0     0     0     0     0     0     0
      0     1    -2     1     0     0     0     0     0     0
      0     0     1    -2     1     0     0     0     0     0
      0     0     0     1    -2     1     0     0     0     0
      0     0     0     0     1    -2     1     0     0     0
      0     0     0     0     0     1    -2     1     0     0
      0     0     0     0     0     0     1    -2     1     0
      0     0     0     0     0     0     0     1    -2     1
      1     0     0     0     0     0     0     0     1    -2

See also

fdvec.m, fdlap.m, fdhess.m, fdkup.m, fdweights.m, fftdiff.m, fourdif.m, fourlap.m


Version 2.2, authors: Ilya Kuprov