Skip to main content

A package to fit functions on data

Project description

doc License: GPL v3

Status

pytests push-pypi push-doc

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.46.tar.gz (115.8 kB view details)

Uploaded Source

File details

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

File metadata

  • Download URL: adadjust-0.1.46.tar.gz
  • Upload date:
  • Size: 115.8 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.46.tar.gz
Algorithm Hash digest
SHA256 ed14d00a6f81f1f69a639eedf0fde2124523a3122959ba4e3b57c18d136f050f
MD5 0ede50a63bc2993a46b60f22110670b6
BLAKE2b-256 853cd799f6b8665a639f5c3fcdc6df4d879a69ecfb356bb31cb60aab27a23100

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