Tengo una curva en el espacio 3D. Quiero usar una forma de interpolación cúbica por trozos que conserva la forma similar a pchip en matlab. Investigué las funciones proporcionadas en scipy.interpolate, por ejemplo, interp2d, pero las funciones funcionan para algunas estructuras de curvas y no para los puntos de datos que tengo. ¿Alguna idea de […]
Estoy tratando de ajustar una curva de crecimiento logístico a mis datos usando curve_fit usando la siguiente función como entrada. def logistic(x, y0, k, d, a, b): if b > 0 and a > 0: y = (k * pow(1 + np.exp(d – (a * b * x) ), (-1/b) )) + y0 elif b […]
Al intentar trazar una curva exponencial a un conjunto de datos: import matplotlib import matplotlib.pyplot as plt from matplotlib import style from matplotlib import pylab import numpy as np from scipy.optimize import curve_fit x = np.array([30,40,50,60]) y = np.array([0.027679854,0.055639098,0.114814815,0.240740741]) def exponenial_func(x, a, b, c): return a*np.exp(-b*x)+c popt, pcov = curve_fit(exponenial_func, x, y, p0=(1, 1e-6, 1)) […]
Estoy tratando de ajustar una función de sombrero de copa a algunos datos, es decir. f (x) es constante para toda la línea real, excepto para un segmento de longitud finita que es igual a otra constante. Mis parámetros son las dos constantes de la función tophat, el punto medio y el ancho, y estoy […]
Estoy ajustando un conjunto de datos experimentales ( muestra ) dentro de dos regiones experimentales diferentes y se puede express con dos funciones matemáticas de la siguiente manera: 1ª región: y = m*x + c ( the slope can be constrained to zero) 2da región: y = d*exp(-k*x) los datos experimentales se muestran a continuación […]
Al intentar crear un ejemplo con scipy.optimize curve_fit , encontré que scipy parece ser incompatible con el módulo math de Python. Mientras que la función f1 funciona bien, f2 muestra un mensaje de error. from scipy.optimize import curve_fit from math import sin, pi, log, exp, floor, fabs, pow x_axis = np.asarray([pi * i / 6 […]
Intento ajustar una función a mis datos usando scipy.optimize.curvefit . Q=optimization.curve_fit(func,X,Y, x0,ERR) y funciona bien. Sin embargo, ahora estoy intentando usar un error asimétrico y no tengo idea de cómo hacerlo, o incluso si es posible. Por error asimétrico quiero decir que el error no es por ejemplo: 3+-0.5 sino 3 +0.6 -0.2 . De […]
Quiero ajustar una función con salida vectorial usando curve_fit de curve_fit (o algo más apropiado si está disponible). Por ejemplo, considere la siguiente función: import numpy as np def fmodel(x, a, b): return np.vstack([a*np.sin(b*x), a*x**2 – b*x, a*np.exp(b/x)]) Cada componente es una función diferente, pero comparten los parámetros que deseo ajustar. Idealmente, yo haría algo […]
No puedo hacer que funcione este ajuste de caja … Obtengo “OptimizeWarning: la covarianza de los parámetros no se pudo estimar en la categoría = OptimizeWarning)” , y los coeficientes de salida no mejoraron más allá de la estimación inicial. import numpy as np from scipy.optimize import curve_fit def box(x, *p): height, center, width = […]
Estoy tratando de calcular el mejor ajuste de dos formas de un exponencial a algunos datos x, y (el archivo de datos se puede descargar desde aquí ) Aquí está el código: from scipy.optimize import curve_fit import numpy as np # Get x,y data data = np.loadtxt(‘data.txt’, unpack=True) xdata, ydata = data[0], data[1] # Define […]