Skip to main content

Calculate area under curve

Project description

area\_under\_curve
==================

- Python 2.7/3.5+ module to calculate riemann sum area under a curve
- Supports

- simpson, trapezoid, and midpoint algorithms,
- n-degree single variable polynomials, including fractional exponents,
- variable step size

- https://github.com/smycynek/area-under-curve/

``USAGE = """ -p|--poly {DegreeN1:CoefficientM1, DegreeN2:CoefficientM2, ...}...``
``-l|--lower <lower_bound> -u|--upper <upper_bound> -s|--step <step>``
``-a|--algorithm <simpson | trapezoid | midpoint>``

- This was just a fun experiment I did on a couple airplane rides and might not be suitable for
production use.
- Try a simple function you can integrate by hand easily, like ``f(x) = x^3`` from ``[0-10]``, and
compare that to how accurate the midpoint, trapezoid, and simpson approximations are with various
steps sizes.

- Why not use numpy? You probably should, but I wanted to do everything from scratch for fun.
examples:
---------

``python area_under_curve.py --polynomial {3:1} --lower 0 --upper 10 --step .1 --algorithm simpson``

or:

``import area_under_curve as auc``

``algorithm = auc.get_algorithm("simpson")``

``bounds = auc.Bounds(0, 10, .1)``

``polynomial = auc.Polynomial({3:1})``

``params = auc.Parameters(polynomial, bounds, algorithm)``

``AREA = auc.area_under_curve(params.polynomial, params.bounds, params.algorithm)``

``print(str(AREA))``

Also try out ``unit_test.py`` and ``demo.py``.


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

area_under_curve-0.9.9.zip (12.5 kB view hashes)

Uploaded Source

Built Distribution

area_under_curve-0.9.9-py2.py3-none-any.whl (7.4 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page