plans.stochastic.curves#

Parametric curves and least-squares curve fitting.

Functions

fit_curve(func, x, y, p0)

Fit a curve to paired data using least squares.

linear(x, c0, c1)

Linear function.

power(x, c0, c1, c2)

Power function.

power_zero(x, c0, c1)

Power function with root in zero.

plans.stochastic.curves.linear(x, c0, c1)[source]#

Linear function.

\[f(x) = c_0 + c_1 x\]
Parameters:
  • x (float | numpy.ndarray) – function inputs

  • c0 (float) – translational parameter

  • c1 (float) – scaling parameter

Returns:

function output

Return type:

float | numpy.ndarray

plans.stochastic.curves.power(x, c0, c1, c2)[source]#

Power function.

\[f(x) = c_2 (x + c_0)^{c_1}\]
Parameters:
  • x (float | numpy.ndarray) – function inputs

  • c0 (float) – translational parameter

  • c1 (float) – exponent parameter

  • c2 (float) – scaling parameter

Returns:

function output

Return type:

float | numpy.ndarray

plans.stochastic.curves.power_zero(x, c0, c1)[source]#

Power function with root in zero.

\[f(x) = c_1 x^{c_0}\]
Parameters:
  • x (float | numpy.ndarray) – function inputs

  • c0 (float) – exponent parameter

  • c1 (float) – scaling parameter

Returns:

function output

Return type:

float | numpy.ndarray

plans.stochastic.curves.fit_curve(func, x, y, p0)[source]#

Fit a curve to paired data using least squares.

\[\min_{c} \sum_i \left[ y_i - f(x_i; c) \right]^2\]
Parameters:
  • func (callable) – curve function, taking x followed by its parameters

  • x (numpy.ndarray) – vector of x values

  • y (numpy.ndarray) – vector of y values

  • p0 (numpy.ndarray) – initial guess of parameters

Returns:

fitted parameters and their standard deviations

Return type:

tuple