A Python 3 package for mathematical calculations with uncertain numbers
Project description
Python module to keep track of uncertainties in mathematical calculations.
Usage example
Define uncertain values
import uncertain as uc
# Uncertain value between 3 and 8 and a normal distribution with
# mean=5 and standard deviation=1.
a = uc.UncertainValue(5, 3, 8, 'normal', [5, 1])
# Uncertain value with a uniform distribution between 0.1 and 4
b = uc.UncertainValue(1, 0.1, 4)
# Uncertain value from measured data points
c = uc.from_data([1, 2, 3, 4, 5])
Perform mathematical calculations: addition, substraction, multiplication, power, sine, cosine, tangent. In order for the trigonometric functions to work, they need to be called from numpy (math does not work).
d = -b+2*a**(b/3)
import numpy as np
e = np.pi / 180 * uc.UncertainValue(40, 35, 45)
f = np.sin(e) + np.cos(e) + np.cos(e)
Display properties and plot results in density plots or cumulative density plots
print(c.describe(),
"\n\nThe standard deviation of b is "+str(b.std),
"\n\nThe probability of /c/ being between 2 and 6 is " +
str(probability_in_interval(c, [2, 6])))
a.plot_distribution(title="Uncertain numbers", label="a")
b.plot_distribution(label="b", alpha=0.5)
d.plot_distribution(label="d", alpha=0.5)
d.plot_distribution(plot_type='cdf', new_figure=True)
Output:
This variable is an uncertain value. It has the following properties: - Nominal value: 2.4199518933533937 - Mean: 5.1973349566661415 - Median: 3.8063419262133795 - Variance: 13.086116036143682 - Standard deviation: 3.6174737091157527 - Skewness: 1.5519941650511524 - Lower bound: -1.9254016053940988 - Percentile 5: 2.0248565203431506 - Q1: 2.432100693608657 - Q3: 6.832833238201248 - Percentile 95: 12.808458201483177 - Upper bound: 31.899999999999995 - Probability distribution type: custom - Number of samples: 100000 The standard deviation of b is 1.1245368594834484 The probability of /c/ being between 2 and 6 is 0.67164
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
uncertain-0.0.12.tar.gz
(21.5 kB
view details)
Built Distribution
File details
Details for the file uncertain-0.0.12.tar.gz
.
File metadata
- Download URL: uncertain-0.0.12.tar.gz
- Upload date:
- Size: 21.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bb0f2f44574974c14b2e2462c89d86c24aa8c8d946b791492137dbd32af4263 |
|
MD5 | b5d219556291b37d83e2d33ee702ac76 |
|
BLAKE2b-256 | 38c619fce2270857f60c41230bcdaa5c206f1925f23e5877af9b5833a2761a41 |
File details
Details for the file uncertain-0.0.12-py3-none-any.whl
.
File metadata
- Download URL: uncertain-0.0.12-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.8.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 284107c85d463b2c5741ba13d8ad616684dcc80db96b1807b79bb291c24050f0 |
|
MD5 | e85bf1892ed366a59cde0d165bbe1d2d |
|
BLAKE2b-256 | 27e984f32bfa442f4ee25a8f27a205f4fe6c456ecb0eff5039af502f39a56869 |