Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- # -*- coding: utf-8 -*-
- from __future__ import division, print_function
- import matplotlib.pyplot as plt
- import numpy as np
- from scipy.optimize import curve_fit
- plt.style.use('ggplot')
- def func(x, a, b, c, d, e, f): # define function to fit
- return a + np.cos(b * x + f) * np.sin(c * x + d) * np.exp(e * x)
- csv = np.genfromtxt('Default_Dataset.csv', delimiter=",") # load data
- popt, pcov = curve_fit(func, csv[:, 0], csv[:, 1]) # fit function
- x_range = np.linspace(0, 8, 60) # define range where to evaluate
- y_fitted = func(x_range, popt[0], popt[1], popt[2],
- popt[3], popt[4], popt[5]) # evaluate
- fig, ax = plt.subplots() # plot
- ax.plot(csv[:, 0], csv[:, 1], label='Original data')
- ax.plot(x_range, y_fitted, '--', label='Fitted data')
- ax.legend(loc='best')
- plt.show()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement