add sigmoid function to basic models #307
| @@ -203,6 +203,31 @@ class Sinc: | ||||
|         return c * np.sinc(((x-x0)/w)/np.pi) | ||||
|  | ||||
|  | ||||
| class Sigmoid: | ||||
|     type = 'Basic' | ||||
|     name = 'Sigmoid' | ||||
|     equation = 'C / [1 + exp(-a * (x - x_{0})] + y_{0}' | ||||
|     params = ['C', 'a', 'x_{0}', 'y_{0}'] | ||||
|  | ||||
|     @staticmethod | ||||
|     def func(x, c, a, x0, y0): | ||||
|         """ | ||||
|         Sigmoid function | ||||
|  | ||||
|         .. math:: | ||||
|             y = C / [1 + exp(-a * (x - x_0))] + y_0 | ||||
|  | ||||
|         Args: | ||||
|             x (array_like): Input values | ||||
|             c (float): Prefactor | ||||
|             a (float): Steepness of the sigmoid | ||||
|             x0 (float): x position of the sigmoid's midpoint | ||||
|             y0 (float): y position of the sigmoid's midpoint | ||||
|  | ||||
|         """ | ||||
|         return c / (1 + np.exp(-a * (x - x0))) + y0 | ||||
|  | ||||
|  | ||||
| class Sine: | ||||
|     """ | ||||
|     Wavy sine function | ||||
|   | ||||
		Reference in New Issue
	
	Block a user