Linear differential equation solver (lde.m)

solves a linear, first-order, vector differential equation
Aktualisiert 15. Jun 2021

Lizenz anzeigen

lde.m solves linear, vector differential equations, including nonhomogeneous equations with functional coefficients. For a constant square matrix A, lde(A) is functionally equivalent to expm(A) (exponential matrix), although lde can be faster (for large matrices) and can exhibit better numerical accuracy (e.g. by a factor of 10^-15 in one test case). Relative to MATLAB's ordinary differential solvers (e.g. ode45), an advantage of lde is that it can simultaneously obtain all independent solutions of a homogeneous differential equation, or can simultaneously process multiple forcing functions for a nonhomogeneous equation. A live script demo is included showing several practical applications: (1) exponential matrix, (2) resonantly forced harmonic oscillator, (3) harmonic oscillator with variable mass ("leaky bucket on a spring"), (4) Airy functions, and (5) Scorer functions.

Zitieren als

Kenneth Johnson (2024). Linear differential equation solver (lde.m) (, MATLAB Central File Exchange. Abgerufen .

Kompatibilität der MATLAB-Version
Erstellt mit R2016b
Kompatibel mit allen Versionen
Windows macOS Linux
Mehr zu Numerical Integration and Differential Equations finden Sie in Help Center und MATLAB Answers

Inspiriert: pageexpm

Community Treasure Hunt

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

Start Hunting!

Version Veröffentlicht Versionshinweise

- Re-ran lde_demo.mlx with R2021a and newer computer (6-core Xeon processor, 3.6GHz, 15MB cache; 128 GB RAM, 2400 MHz).
- Fixed legend problem in lde_demo.mlx, third figure.

spelling correction in Description

Updated documentation citation in lde.m comments.
Revised local function getPadeCoef in lde.m.

Fixed handling of 'MATLAB:nearlySingularMatrix' (missing lastwarn(''), corrected commentary explanantion).

12/21/2016 Algorithm runtime is improved. This version should now be stable.
12/21/2016(b) minor fixes in comments, spelling

12/19/2016 update: Further improvments to error/tolerance analysis
12/19/2016 update: Further improvements to error/tolerance analysis

12/16/2016 update: Improved error/tolerance analysis

2016/12/13 update: more robust error/tolerance control