|
A Matlab Differentiation Matrix Suite
This is a software suite designed for MATLAB 5 consisting of seventeen functions for solving differential equations by the spectral collocation (a.k.a. pseudospectral) method. It includes functions for computing differentiation matrices of arbitrary order corresponding to Chebyshev, Hermite, Laguerre, Fourier, and sinc interpolants. It also includes FFT-based routines for Fourier, Chebyshev and sinc differentiation. Auxiliary functions are included for incorporating boundary conditions, performing interpolation using barycentric formulas, and computing roots of orthogonal polynomials.
In the accompanying paper it is demonstrated how to use the package for solving eigenvalue, boundary value, and initial value problems arising in the fields of special functions, quantum mechanics, nonlinear waves, and hydrodynamic stability.
Paper
Download the compressed version of the paper (paper.ps.gz, gzipped PostScript 0.4MB), or the uncompressed version (paper.ps, PostScript 1.2MB).
Functions
We have made every effort to test these functions. However, NO GUARANTEES are made about their validity. Please contact us at weideman@math.orst.edu or reddy@math.orst.edu if you find bugs or have comments!
The entire set of functions is available in a tar file. To process, issue the command
tar -xvf dmsuite.tar
For a .zip version, please go to this MathWorks site.
Individual files can also be downloaded as text files:
Table of Contents
Contents.m
Differentiation Matrices (Polynomial Based)
poldif.m (General differentiation matrices)
chebdif.m (Chebshev differentiation matrices)
herdif.m (Hermite differentiation matrices)
Requires: herroots.m, poldif.m
lagdif.m (Laguerre differentiation matrices)
Requires: lagroots.m, poldif.m
Differentiation Matrices (Non-Polynomial)
fourdif.m (Fourier differentiation matrices)
sincdif.m (Sinc differentiation matrices)
Boundary Conditions
cheb2bc.m (Chebyshev 2nd derivative matrix incorporating Robin boundary conditions)
Requires: chebdif.m
cheb4c.m (Chebyshev 4th derivative matrix incorporating clamped boundary conditions)
Interpolation
polint.m (Barycentric polynomial interpolation on arbitrary distinct nodes)
chebint.m (Barycentric polynomial interpolation on Chebyshev points)
fourint.m (Barycentric trigonometric interpolation at equidistant nodes)
Transform-Based Derivatives
chebdifft.m (FFT-based Chebyshev derivative)
fourdifft.m (FFT-based Fourier derivative)
sincdifft.m (FFT-based sinc derivative)
Roots of Orthogonal Polynomials
legroots.m (Roots of Legendre polynomials)
lagroots.m (Roots of Laguerre polynomials)
herroots.m (Roots of Hermite polynomials)
Examples
cerfa.m (Function file for computing complementary error function. BC y(infinity) = 0.
Requires: chebdif.m, chebint.m
cerfb.m (Function file for computing complementary error function. BC y(0) = 1
Requires: chebdif.m, chebint.m
matplot.m (Script file for plotting characteristic curves of Mathieu's equation)
Requires: fourdif.m
ce0.m (Function file for computing the Mathieu cosine elliptic function)
Requires: fourdif.m, fourint.m
sineg.m (Script file for solving the sine-Gordon equation)
Requires: herdif.m, herroots.m, sincdif.m, fourdif.m, poldif.m, sgrhs.m,
sgrhs.m (Function file for computing the right-hand side of the sine-Gordon equation)
schrod.m (Script file for computing the eigenvalues of the Schrodinger equation)
Requires: lagdif.m, lagroots.m, poldif.m
orrsom.m (Script file for computing the eigenvalues of the Orr-Sommerfeld equation)
Requires: cheb4c.m, chebdif.m |
评分
-
1
查看全部评分
-
|