You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

33 lines
764 B

import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
import numpy as numpy
#Fitting funtion
def func(x, a, b)
return a*np.exp(b*x)
#return a*x+b
#Experimental x and y data points
xData = np.array([1,2,3,4,5])
yData = np.array([1, 9, 50, 300, 1500])
#Plot experimental data points
plt.plot(xData, yData, 'bo', label='experimeatal-data')
# Initial guess for the parameters
#initialGuess = [1, 0, 1, 0]
#Perform the curve-fit
popt, pcov = curve_fit(func, xData, yData, initialGuess)
print(popt)
#x values for the fitted function
xFit = np.arange(0.0, 5.0, 0.01)
#Plot the fitted function
plt.plot(xFit, func(xFit, *popt), 'r', label= 'fit params: a= %5.3f, b=%5.3f' %tuple(popt))
plt.xlabel('x')
plt.ylabel('y')
plt.legend()
plt.show()