Jonathan Leto > Math-ODE-0.07 > Math::ODE

Download:
Math-ODE-0.07.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Module Version: 0.07   Source  

NAME ^

Math::ODE - Solve N-th Order Ordinary Differential Equations

DESCRIPTION ^

This module allows you to solve N-th Order Ordinary Differential Equations with as little pain as possible. Currently, only IVP's (initial value problems) are supported, but native support for BVP's (boundary value problems) may be added in the future. To solve N-th order equations, you must first turn it into a system of N first order equations, as in MATLAB.

SYNOPSIS ^

    use Math::ODE;
    # create new object that stores data in a file
    # and solve the given equation(s) on the interval
    # [0,10], with initial condition y(t0) = 0
    my $o = new Math::ODE (
        file    => '/home/user/data.txt',
        step    => 0.1,
        initial => [ 0 ],
        ODE     => [ \&DE1 ],
        t0      => 1,
        tf      => 10,
    );
    # Actually numerically solve equations
    $o->evolve();
    # solve the equation y' = 1/$t
    # $t is the independent variable, a scalar
    # $y is the dependent variable, an array reference
    sub DE1 { my ($t,$y) = @_; return 1/$t; }

LATEST CODE ^

The latest released version can always be found at https://metacpan.org/module/Math::ODE and the git repository lives at https://github.com/leto/math--ode .

AUTHOR ^

Jonathan "Duke" Leto <jonathan@leto.net>

SUPPORT THIS WORK ^

If you would like to support the development, maintenance and continued support of this module, a recurring donation of any size would be greatly appreciated: https://www.gittip.com/dukeleto/

SEE ALSO ^

Boyce, DiPrima "Elementary Differential Equations" 5th Ed.

Orwant, Hietaniemi, Macdonald "Mastering Algorithms with Perl" Ch. 16.

COPYRIGHT ^

Copyright (c) 2001-2013 by Jonathan "Duke" Leto <jonathan@leto.net>. All rights reserved.

LICENSE AGREEMENT ^

This package is free software; you can redistribute it and/or modify it under the same terms as Perl itself, dude.

syntax highlighting: