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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file uncertain-0.0.13.tar.gz.
File metadata
- Download URL: uncertain-0.0.13.tar.gz
- Upload date:
- Size: 22.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88530b3793e9ad442ee1d3a6ed28285cf66b6270a36dddf0ba0932a95dc196f1
|
|
| MD5 |
3ec1a7e0bfe60cc08ae0efd6a41185dc
|
|
| BLAKE2b-256 |
90a586ec70a432b2a25b8dcedfc4f65891ce7c83031fe27de01ae39758e91399
|
File details
Details for the file uncertain-0.0.13-py3-none-any.whl.
File metadata
- Download URL: uncertain-0.0.13-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c0c6ded4022814167a6c758353bce1e80d7f001946af898ea5988e1529400403
|
|
| MD5 |
ee29edb35fce99ed997dffcbb09faee9
|
|
| BLAKE2b-256 |
2fa68ee4e906629a76ccd312f9f10a19c1672ac4b646e91e402f090162975a9e
|