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
Hashes for area_under_curve-1.0.6-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0940724f01d92d88a36f55bdb87dfd454be0f8be15e425e170a3f6b2f8f9eb0e |
|
MD5 | cd571119d576108f90ecb54291c679a2 |
|
BLAKE2b-256 | 13f90424cf3612f1c5190054a310855a431c83177a2c67056b3d85526d6b6191 |