Python Integration, Interpolation, and Curve Fitting

Поділитися
Вставка
  • Опубліковано 30 січ 2025

КОМЕНТАРІ • 25

  • @mokus603
    @mokus603 3 роки тому +2

    After all these year, you video is still amazingly helpful! Thank you for your hard work

  • @jawnvawn
    @jawnvawn 6 років тому +3

    Really enjoyed your clear tutorial. I'm using this to help me fit spectra peaks from astronomical data to gaussian curves. Will hopefully impress my professor. Much thanks!

  • @AlexOmbla
    @AlexOmbla 4 роки тому +1

    Thank you very much! I couldn't find this anywhere , you saved me

  • @jimwest63
    @jimwest63 6 років тому

    A very good video, just what I needed to quickly get going on a work problem I currently have, using nothing but the packages that already come installed in anaconda. Good work.

  • @yurivendruscolo7676
    @yurivendruscolo7676 9 років тому +8

    Hello, would it be possible to get a pdf of the data shown on the video?

  • @clivemayo4049
    @clivemayo4049 8 років тому

    Great video, very well explained thanks

  • @ignitebyuedu
    @ignitebyuedu  5 років тому +2

    Thanks for the positive feedback. The code is available at this website: ignite.byu.edu/che263/lectureNotes/
    This includes all lecture notes. If you back up to che263 you can see other course materials. The integration, interpolation, and curve fitting slides are now separate, but much of the content is the same. Not all notes are posted; they get added as the semester progresses. You can find slides from previous semesters here: ignite.byu.edu/che263/lectureNotes/old.html

  • @Satenc0
    @Satenc0 7 років тому

    Very nice explained

  • @skfkfkd
    @skfkfkd 8 років тому +1

    This was a superb tutorial, I was wondering if you have or can make a video explaining how to make the r squared value for the curve fitted function you made at 14:08

  • @davidmckinnon4770
    @davidmckinnon4770 5 років тому +2

    As a Python newbie, I found this tutorial fantastic for an analysis I am currently undertaking. What is missing though, is the code necessary for goodness of fit. I can't figure out how to do this - can anybody help?

  • @frankelindddd
    @frankelindddd 6 років тому

    What if the function have been integrated by .quad and sub into another non-analytical function to get two sets of array, and I want to do curve fitting of that with test data?

  • @MartinezF
    @MartinezF 8 років тому

    I have a question about the last fitting you did. Those command lines make the fit with minimum squares? (sorry for my english)

  • @shobanasanthanagopalan
    @shobanasanthanagopalan 5 років тому

    Thank you. Is there a downloadable of this notebook?

  • @philtoa334
    @philtoa334 2 роки тому

    Nice Thx.

  • @Satenc0
    @Satenc0 7 років тому

    How about using numpy corrcoef? at curve fitting id just enter p3 as parameter of it

  • @stefanofedele4820
    @stefanofedele4820 8 років тому

    I like it, but I was looking for some tutorials that explain me how can I use the covariance matrix, that in your tutorial is reported at the end of it as "extras" in the "curve_fit" output, and still I can't find anyone who explain me it

  • @blanky_nap
    @blanky_nap 7 років тому

    Great stuff! thx!

  • @aamir122a
    @aamir122a 7 років тому

    At the end of the function, why do you put dx, has it any use?

    • @RobinOnYew
      @RobinOnYew 6 років тому

      just saying dx is the convention that you put in an end of a integral because you are declaring you are using the decimal system for x that is the meaning of it in integrals but in a bit more complicated integrals you can declare part of a fucntion thay ou want to solve as the system like Ux it's pretty interesting and easy so you should check it out

  • @Passco666
    @Passco666 6 років тому

    Where I can found that example notebook?

    • @riccardolizio8230
      @riccardolizio8230 6 років тому

      i think it is the jupiter notebook, you can get it through anaconda navigator

    • @Passco666
      @Passco666 6 років тому

      @@riccardolizio8230 Thank you for reply.. I have already downloaded jupyter,however I did not find any example or training sheet :(

  • @juliarey6475
    @juliarey6475 5 років тому

    GRACIAS!!!!

  • @sambad8429
    @sambad8429 6 років тому +1

    import numpy as np
    import matplotlib.pyplot as plt
    % matplotlib inline
    from scipy.integrate import quad
    def f(x):
    return 3.0*x*x+ 1.0
    xlo=0
    xhi=1
    I, err=quad(f,xlo, xhi)
    print("I =", I)
    print("err =", err)
    from scipy.interpolate import interp1d
    x_given= np.linspace(0,10,10)
    y_given=np.cos(x_given**2.0/8.0)
    xx= np.linspace(0,10,1000)
    yy=np.cos(xx**2.0/8.0)
    plt.plot(x_given, y_given, "o", label="given data")
    plt.plot(xx, yy, ":", label="perf")
    plt.legend(loc='best')
    x_i=np.linspace(0,10,1000)
    f_linear=interp1d(x_given, y_given)
    y_li=f_linear(x_i)
    f_spline=interp1d(x_given, y_given, kind='cubic')
    y_is=f_spline(x_i)
    #plot
    plt.plot(x_given, y_given, "o", label='given data')
    plt.plot(x_i,y_li, '-', label='linear')
    plt.plot(x_i,y_is, '--', label='spline')
    plt.plot(xx, yy, ":", label='perf')
    plt.legend(loc='best')
    x_given=np.array([0.,1.,2.,3.,4.,5.])
    y_given=np.array([0.,0.8,0.9,1.0,-0.8,-1.0])
    x_p=np.linspace(-2.0,6.0,100)
    p_3=np.polyfit(x_given, y_given,3)
    y_p=np.polyval(p_3,x_p)
    plt.plot(x_given, y_given, "o")
    plt.plot(x_p, y_p, '-')
    plt.legend(['data','polyfit'], loc='best')
    plt.ylim(-2,2)
    from scipy.optimize import *
    def f(x,a,b,c):
    return a*np.exp(-b*x)+c
    x_given=np.linspace(0,4,50)
    y_given=f(x_given,2.5,1.3,0.5)+0.2*np.random.normal(size=len(x_given))
    params,extras=curve_fit(f,x_given, y_given)
    print('a=%g, b=%g, c=%g' %(params[0], params[1], params[2]))
    y_fit=f(x_given,params[0], params[1], params[2])
    #plots
    plt.plot(x_given, y_given, "o")
    plt.plot(x_given, y_fit, "-")
    plt.legend(['data', 'fit'], loc='best')