Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You can also use numpy's <a href="http://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html" rel="noreferrer">polyfit</a>:</p> <pre><code>data = np.array([[1,5], [2,10], [3,15], [4,20], [5,25]]) fit = np.polyfit(data[:,0], data[:,1] ,1) #The use of 1 signifies a linear fit. fit [ 5.00000000e+00 1.58882186e-15] #y = 5x + 0 line = np.poly1d(fit) new_points = np.arange(5)+6 new_points [ 6, 7, 8, 9, 10] line(new_points) [ 30. 35. 40. 45. 50.] </code></pre> <p>This allows you to alter the degree of the polynomial fit quite easily as the function <code>polyfit</code> take thes following arguments <code>np.polyfit(x data, y data, degree)</code>. Shown is a linear fit where the returned array looks like <code>fit[0]*x^n + fit[1]*x^(n-1) + ... + fit[n-1]*x^0</code> for any degree <code>n</code>. The <code>poly1d</code> function allows you turn this array into a function that returns the value of the polynomial at any given value <code>x</code>.</p> <p>In general extrapolation without a well understood model will have sporadic results at best.</p> <hr> <p>Exponential <a href="http://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.curve_fit.html" rel="noreferrer">curve fitting</a>.</p> <pre><code>from scipy.optimize import curve_fit def func(x, a, b, c): return a * np.exp(-b * x) + c x = np.linspace(0,4,5) y = func(x, 2.5, 1.3, 0.5) yn = y + 0.2*np.random.normal(size=len(x)) fit ,cov = curve_fit(func, x, yn) fit [ 2.67217435 1.21470107 0.52942728] #Variables y [ 3. 1.18132948 0.68568395 0.55060478 0.51379141] #Original data func(x,*fit) [ 3.20160163 1.32252521 0.76481773 0.59929086 0.5501627 ] #Fit to original + noise </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload