def test_lineFunction(self): x = range(10) y = range(10) plt.scatter(x,y) params = CurveFit.getParamsAfterFittingData(x, y, CurveFit.lineFunction, [1., 1.]) plt.plot(x, CurveFit.getYValues(CurveFit.lineFunction, params, x)) plt.show()
def test_lineFunction(self): x = range(10) y = range(10) plt.scatter(x, y) params = CurveFit.getParamsAfterFittingData(x, y, CurveFit.lineFunction, [1., 1.]) plt.plot(x, CurveFit.getYValues(CurveFit.lineFunction, params, x)) plt.show()
def test_curveFitdemo(self): real = lambda p, x: p[0] * scipy.exp(-((x-p[1])/p[2])**2) + scipy.rand(100) functionToFit = lambda p, x: p[0] * scipy.exp(-((x-p[1])/p[2])**2) initialParameters = [5., 7., 3.] dataX = scipy.linspace(0, 10, 100) dataY = real(initialParameters, dataX) cf = CurveFit(functionToFit, initialParameters, dataX, dataY) cf.estimate() cf.plot()
def test_curveFitdemo(self): real = lambda p, x: p[0] * scipy.exp(-( (x - p[1]) / p[2])**2) + scipy.rand(100) functionToFit = lambda p, x: p[0] * scipy.exp(-((x - p[1]) / p[2])**2) initialParameters = [5., 7., 3.] dataX = scipy.linspace(0, 10, 100) dataY = real(initialParameters, dataX) cf = CurveFit(functionToFit, initialParameters, dataX, dataY) cf.estimate() cf.plot()
def test_exponentialFunctions(self): x, p = 85079, [ 1.09194452e+03, 1.03448106e+00] self.assertTrue(x==int(CurveFit.inverseOfDecreasingExponentialFunction(p, CurveFit.decreasingExponentialFunction(p, x)))) self.assertTrue(x==int(CurveFit.inverseOfIncreasingExponentialFunction(p, CurveFit.increasingExponentialFunction(p, x))))