Skip to main content

A package to fit functions on data

Project description

doc License: GPL v3

Status

Pytests push

maintained issues pr

Compatibilities

ubuntu unix

python

Contact

linkedin website mail

AdAdjust

Package allowing to fit any mathematical function to (for now 1-D only) data.

Installation

pip install adadjust

Usage

from adadjust import Function
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams.update({"text.usetex": True})  # Needs texlive installed

nsamples = 1000
a = 0.3
b = -10
xstart = 0
xend = 1
noise = 0.01
x = np.linspace(xstart, xend, nsamples)
y = a * x ** 2 + b + np.random.normal(0, noise, nsamples)


def linfunc(xx, p):
    return xx * p[0] + p[1]


def square(xx, p):
    return xx ** 2 * p[0] + p[1]


func = Function(linfunc, "$a \\times p[0] + p[1]$")
func2 = Function(square, "$a^2 \\times p[0] + p[1]$")

params = func.fit(x, y, np.array([0, 0]))[0]
rr = func.compute_rsquared(x, y, params)

params2 = func2.fit(x, y, np.array([0, 0]))[0]
rr2 = func2.compute_rsquared(x, y, params2)

table = Function.make_table(
    [func, func2], [params, params2], [rr, rr2], caption="Linear and Square fit", path_output="table.pdf"
)
table.compile()
Function.plot(x, [func, func2], [params, params2], y=y, rsquared=[rr, rr2])
plt.gcf().savefig("plot.pdf")

NOTE : to have pretty gaphs, put the line plt.rcParams.update({"text.usetex": True}) just after you imported adadjust. This requiers that you have TexLive full installed on your computer.

The result will be :

Alt text

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

adadjust-0.1.40.tar.gz (316.9 kB view details)

Uploaded Source

File details

Details for the file adadjust-0.1.40.tar.gz.

File metadata

  • Download URL: adadjust-0.1.40.tar.gz
  • Upload date:
  • Size: 316.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.9.12

File hashes

Hashes for adadjust-0.1.40.tar.gz
Algorithm Hash digest
SHA256 1c6a60e068e55e43f482206baa2a9e18d3f588d115145c44655ebf7a5da59795
MD5 a0af7cd5d1d930e66d94723e83e52ed8
BLAKE2b-256 27d51332249af34182555a729aa1cd5eb712a56c49baeab9a401c24b35c503a2

See more details on using hashes here.

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