Calculate area under curve
Project description
Version 1.0.6
Python 3.7+ module to calculate riemann sum area under a curve
Copyright 2019 Steven Mycynek
Supports
simpson, trapezoid, and midpoint algorithms,
n-degree single variable polynomials, including fractional exponents,
variable step size
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:
python3 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.
Use poetry install and poetry shell for a python3 environment with dev dependencies.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file area_under_curve-1.0.6.tar.gz
.
File metadata
- Download URL: area_under_curve-1.0.6.tar.gz
- Upload date:
- Size: 7.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3a036fe9d60a6c435fed59b6179be793baeaee07445288b409ac4d4d2aeec2a6 |
|
MD5 | b184d61dea56b9bfef4d8c33056309b3 |
|
BLAKE2b-256 | 5f42184ad67cf2d547ca7de350af1be4836d8f3a5c87855228cd2b0bea0657bc |
File details
Details for the file area_under_curve-1.0.6-py2.py3-none-any.whl
.
File metadata
- Download URL: area_under_curve-1.0.6-py2.py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0940724f01d92d88a36f55bdb87dfd454be0f8be15e425e170a3f6b2f8f9eb0e |
|
MD5 | cd571119d576108f90ecb54291c679a2 |
|
BLAKE2b-256 | 13f90424cf3612f1c5190054a310855a431c83177a2c67056b3d85526d6b6191 |