SciPy Tutorial (2022): For Physicists, Engineers, and Mathematicians

Поделиться
HTML-код
  • Опубликовано: 22 окт 2024

Комментарии • 148

  • @MrPSolver
    @MrPSolver  3 года назад +63

    CORRECTIONS:
    31:30: The function should be lambda y, x; not lambda x, y. The result for the integral is incorrect in the video.

    • @davidsanjenis2778
      @davidsanjenis2778 3 года назад

      If you're wondering why like me, I looked up the .dblquad function(?)
      scipy.integrate.dblquad(func, a, b, gfun, hfun, args=(), epsabs=1.49e-08, epsrel=1.49e-08)
      From the scipy doc, it defines gfun (lower boundary curve in y), and hfun(the upper boundary curve in y) are the bounds for y. This is probably why we have to define y first. please correct me if I'm wrong.

    • @agustinbrusco7173
      @agustinbrusco7173 3 года назад +2

      may I ask you if at the Fourier example where you showed the two transform peaks at around 1.0 and 1.2 Hz, there is a chance you didn't create the correct frequency domain? I'm probably getting something wrong, but by making your signal with sin(2*π*t) + sin(4*π*t), wouldn't you espect to see the peaks at 1 Hz and 2 Hz respectively? as in this case you have ω1 = 2π , ω2 = 4π, so f1 = ω1/2π = 1 and f2 = ω2/2π = 2. I don't know what i'm missing right now. I tend to transform the frequency domain using fftshift, but your method should have worked just fine for the example. Anyway, reallly good video, thanks for making this amazing content

    • @MrPSolver
      @MrPSolver  3 года назад +5

      @@agustinbrusco7173 I definitely should have explained this better, but what's happening here is an example of aliasing. Because the 2Hz component is larger than the Nyquist frequency of about 1.6Hz, its component gets "folded back" into a smaller frequency. So technically there is no 1.2Hz component, but the spectral density estimator predicts a frequency there.

    • @agustinbrusco7173
      @agustinbrusco7173 3 года назад +3

      @@MrPSolver ooohhh, so that's what happened, thanks for the explanation. So I guess that if you had created t with a bigger resolution (say, 10000 elements for example), we would had seen the "real peaks" with no aliasing?

    • @MrPSolver
      @MrPSolver  3 года назад +3

      @@agustinbrusco7173 yes, I would hope so!

  • @doctoralvlog
    @doctoralvlog 2 года назад +31

    Your videos should be made mandatory to watch for all science/engg majors. So useful! Thanks for making these!

  • @matthewmcgraw8901
    @matthewmcgraw8901 Год назад +4

    This, this video is an absolute savior. I'm working on my final motion planning project for the class I'm taking and nothing came close to showing me the proper way to calculate trajectories with inputs for my drone. YOU ARE THE BEST!

  • @rodrigobahamondessoto915
    @rodrigobahamondessoto915 3 года назад +22

    I just finished the numpy video and now I can continue my journey through Python. Thank you for such valuable material

  • @tzimmermann
    @tzimmermann 3 года назад +12

    Excellent tutorial. Well explained, to the point, well constructed. I took notes like crazy and then subbed!

  • @hsh7677
    @hsh7677 3 года назад +42

    Thank you so much for sharing this knowledge. You can’t imagine how much you’re helping me.
    Thank you 🙏

  • @Entropy3ko
    @Entropy3ko 11 месяцев назад +1

    Regarding curve fitting you can set up how many iterations it does and that leads to good fits even from bad guesses... because sometimes there is no way to know exactly what the parameters are at all, like if you are fitting a multiple exponential decay

  • @sumserkarki5339
    @sumserkarki5339 2 года назад

    You are a genius dude! I have gone through most of your videos and enjoying immensely. Being an engineer, I have to go through similar calculations in water flow network design, water treatment unit designs and alike. We normally do it in MS Excel using VBA. When I happened to watch your video in Numpy and Matplotlib, it got me in and in...awesome experience. So, I started self-learning Python since last two months, and am finding this very interesting and useful for my job. Hope I will gain average skill by next year. Your way of explaining and executing the codes is so clear and best in the youtube. Thanks.

  • @БулатШарафутдинов-р6д

    Thank you very much! I havent seen so good python/physics videos as yours

  • @jonmatthis
    @jonmatthis 3 года назад +17

    This is really wonderful content, thank you!
    When you get a chance, could you put timestamps to specific topics (like you did in the NumPy video)?

    • @MrPSolver
      @MrPSolver  3 года назад +15

      Done and done! Glad you're enjoying the content :)

  • @jjhj_
    @jjhj_ 2 года назад +1

    Such a cool channel, both your programming tutorials and programming memes are of top quality. Thanks youtube algorithm

  • @adriankeister4389
    @adriankeister4389 3 года назад +2

    The DE at 34:43 actually is solvable by hand: $v(t)=-\dfrac{\sqrt{b}\tanh(\sqrt{ab}\,t)}{\sqrt{a}}.$ But the general principle you're demonstrating is certainly applicable to DE's that you can't solve by hand.

  • @vladi1475S
    @vladi1475S 2 года назад

    I am a neuroscientist and I LOVE your channel!!! I learned Python coding almost 4 years ago but I really want to improve my skills and apply more in my field for more complex data analysis.
    I was looking for a tutorial how to convert complex math equation in Python scripts (in my case is more for statistical analysis), and I came across with your video “1st year of calculus but in python”. I loved it!! Thank you!! :)

    • @MrPSolver
      @MrPSolver  2 года назад +1

      Appreciate your kind words!! Good luck with the data analysis :)

  • @aldabro1
    @aldabro1 5 месяцев назад

    Great Tutorial! Thank you very much! I'm glad that there exists free software like this and not just expensive proprietary software suites like matlab.

  • @panoskotoulas759
    @panoskotoulas759 3 года назад +9

    That was an exceptionally good video. Thanks a lot! By the way, could you make a video about fitting a curve when you have points with x and y errors (if you haven't already done it)?

  • @adriankeister4389
    @adriankeister4389 3 года назад +3

    Enjoying your style! Just wanted to point out that at 31:03, you forgot the 2 in the sin argument in your code, so that the code didn't actually calculate the displayed integral.

  • @znswanderer
    @znswanderer 3 года назад +1

    Wonderful! I have the feeling, that I will be coming back to this video (and the github repo) many times in the future for reference.

  • @Mateusz-rg4cd
    @Mateusz-rg4cd 3 месяца назад

    As a physics student I am glad to find your channel!

  • @FelipeMontealegreS
    @FelipeMontealegreS Год назад +1

    This is terrific. Would you consider doing a video specifically on probability and probability distributions?

  • @erickcruz3018
    @erickcruz3018 Год назад

    One of the most underreated youtube channels

  • @librealgerien
    @librealgerien 2 года назад +2

    For the pendulum you’re missing a sign. d(omega)/dt =-sin(theta) and not +.

  • @airatvaliullin8420
    @airatvaliullin8420 Год назад

    I think the equation of a harmonic oscillator on the thumbnail has a wrong sign: it must instead read "\ddot{\theta} + \frac{g}{l} \cdot \sin{\theta} = 0" (unless you take g=-9.81, ofc)!

  • @RAJAT6555
    @RAJAT6555 2 года назад +1

    Thanks for this. I'm working on an ODE (nonlinear) model problem in botany, and this video helped. I have one request though - could you make a future video on turning ODE models into optimal control problems and solving them in Python? Thanks in advance.

  • @freddurstedgebono4589
    @freddurstedgebono4589 2 года назад

    That intro is fire. He is rhyming left and right!

  • @frankkoslowski6917
    @frankkoslowski6917 8 месяцев назад

    You might want to try the following line to actually see the array:
    D_kronsum = (kron(D, np.identity(N)) + kron(np.identity(N), D)).toarray()
    rather than obtain information about the object:

  • @pablosantos2282
    @pablosantos2282 Год назад +3

    So useful and explanatory. What if I have data from de pool temperature and from the outside temp and want to find k?? 🤔

  • @pouyarahgozar7703
    @pouyarahgozar7703 3 года назад +5

    thank you for these awesome tutorials🙏
    keep up the good work!

  • @INCYTER
    @INCYTER 2 года назад

    You're a Great Canadian. Really nice job on this video - Subscribed..and looking forward to watching more of your stuff.

  • @chinmaydubey4217
    @chinmaydubey4217 2 года назад

    You are awesome man , i grasp all the concepts in just one watch👍👍

  • @eduardoh.m2072
    @eduardoh.m2072 3 года назад +2

    Great video, man! Keep it up, you might actually help me in my research by doing this tutorials

  • @Lusypher
    @Lusypher 3 года назад +7

    One small request:
    Do Schrödinger time dependent equation with python ☺️
    Thanks

  • @monkeywrench1951
    @monkeywrench1951 Год назад +1

    Please show a bit of LLMs used for scientific numerical problems. I had both chatGPT and Bard generate code to solve a 3 domain diffusion problem. ChatGP4T setup the ODEs and used a numerical solver and then plotted , Bard showed the solved ODE’s and plot these. The code I asked for was R, not python. What I haven’t been able to do well is get it to fit to equations. I signed up for your Udemy course by the way, thank you very much.

  • @fatihayar7423
    @fatihayar7423 3 года назад

    Turkish language; çok başarılı bir programı anlatmışınız.. teşekkür ederim..
    Başarılarınızın devamını dilerim..

  • @srinivasansrivilliputhur4704
    @srinivasansrivilliputhur4704 2 месяца назад

    Great videos! Thank you Mr. P Solver.

  • @javicontry
    @javicontry 2 года назад

    Now, I call this robust and not my code. Great job, I would like to be like you one day! Cheers mate.

  • @datastako156
    @datastako156 3 года назад

    hello bro, i'm only half way done with this video but wow this is super helpful for us, i wish i learn this during college days. thank you & more power! from philippines here

  • @markushaysnielsen4885
    @markushaysnielsen4885 3 года назад +1

    Great video! I’m envious of the students you have been TA for😅 Have you compared using minimize versus least_squares? I’ve found that least_squares is MUCH better that minimize for least square / SSQ problems.

    • @MrPSolver
      @MrPSolver  3 года назад +2

      I should've compared the two! I have used it before, but I wasn't aware that one was much better for least squares problems. Thank you for sharing!

  • @taj-ulislam6902
    @taj-ulislam6902 6 месяцев назад

    Amazing tutorial. You have my utmost respect.

  • @usmk2325
    @usmk2325 2 года назад

    really good introduction into SciPi and a really good explanation.

  • @thomas_bourgeois
    @thomas_bourgeois 2 года назад

    That star reaction question you discuss, i remember that one from the class.
    A real pain...

  • @JamBear
    @JamBear 3 года назад +1

    UVic alumni, nice. Thanks for the video - the documentation is brutal.

  • @Eighty_80_WAW
    @Eighty_80_WAW 3 года назад +1

    Thank you for sharing this! Excellent lesson! Keep it up

  • @amriteshmaitra6877
    @amriteshmaitra6877 Год назад

    Really helpful video. Great for starting with python.

  • @ujjwalchetan4907
    @ujjwalchetan4907 Год назад

    You explain very well. Thanks for the content.

  • @wenhanzhou5826
    @wenhanzhou5826 3 года назад +1

    I just realized I have wasted months of time in a university course... Glad that I found this video thought.

  • @MH-oc4de
    @MH-oc4de 2 года назад

    Around 30:30 you wrote the integrand as ... sin(x) ... but the latex shows sin(2x). No big deal ... Thanks for the video!

  • @sairengpuiasailo6198
    @sairengpuiasailo6198 2 года назад

    The Best Python teacher. Thanks for the wonderful vidoes.

  • @rrr33ppp000
    @rrr33ppp000 3 года назад +5

    Beast, mastodon, artist!

  • @rhliarng
    @rhliarng 2 года назад +1

    It's a great one! Thank you for sharing.😀

  • @g.don24
    @g.don24 Год назад

    Thanks for your video. I'm currently using VScode as editor for my Python programming but I think that your IDE is more interesting and user-friendly. Can you tell me what is it and suggest me tutorials about its installation and learning?

  • @vishalkumar040393
    @vishalkumar040393 3 года назад +1

    Nice explanation. For quite sometimes I am trying to model particle flow in Python following a research paper. But unable to do so. There is no one I know who does theoretical work, could you please help me with the problem?

  • @yashabyadav588
    @yashabyadav588 3 года назад

    Lovely video! Are there any resources where I can find problems to apply these methods? Can you suggest some problems for practice?

  • @charlesspringer4709
    @charlesspringer4709 2 года назад

    I suppose others have mentioned, but turn up your headphones until you stop shouting, or don't use them. I appreciate the speed and density of the information.

    • @taj-ulislam6902
      @taj-ulislam6902 6 месяцев назад

      I don't understand what you are saying. His presentations and the quality of the video are both excellent. The content has no parallel.

  • @fredericoamigo
    @fredericoamigo 2 года назад

    Kick ass tutorial! Good work!

  • @mykola_fedotov
    @mykola_fedotov 11 месяцев назад

    Hi! Do you know what to do maybe if my ODE isn't linear? Like I can't get dydx out of ode to know what it equals for. Ive met problems like this in my chemeng classes and ive always had to write explicit euler to solve them just because couldn't find anything useful in the google.

  • @thanarttangtanakoon2993
    @thanarttangtanakoon2993 2 года назад

    Very impressive !! Love this content very much !

  • @lashanasaraia4113
    @lashanasaraia4113 3 года назад +1

    Great Video, thanks man!

  • @Harrykesh630
    @Harrykesh630 7 месяцев назад

    hey, what have you studied ?
    PS: Thankyou for the video

  • @carolina2066
    @carolina2066 2 года назад

    thanks for this video! can you do a tutorial of how to minimize the error between a given dataframe and odeint results ? I'm facing a problem like this right now, where I try to optimize some parameters of my ODEs to reduce the error between real data and the model values!

  • @elganaelmehdi1697
    @elganaelmehdi1697 2 года назад

    Thank you so much for sharing this knowledge. i have a qusetion can i use Odeint for solving ODE with array parametre

  • @danv8718
    @danv8718 3 года назад

    Very solid tutorial!

  • @matejivanek2013
    @matejivanek2013 3 года назад +1

    How do you come up with those examples? Do you just make them up or is there some sort of website with physics problems to solve with programming?

    • @MrPSolver
      @MrPSolver  3 года назад +8

      Unfortunately no website exists! Hopefully this channel becomes that website, to some extent. The problems are communicated to me through telepathy with aliens.

  • @ahmaddiab5930
    @ahmaddiab5930 3 года назад +1

    Keep up the great work man!

  • @adriankeister4389
    @adriankeister4389 3 года назад +1

    Another comment: at 33:04, when you're doing the double integral, scipy gives a different result from Mathematica (an NIntegrate[Integrate[ command can handle this one): 0.59009. That's quite different from the scipy result. I'm curious about that. I get the 0.59009 from Mathematica regardless of which order of integration I use (as you would hope). Does scipy give you the same result if you do int_0^1 int_sqrt(y)^1 sin(x+y^2) dx dy + int_-1^0 int_-y^1 sin(x+y^2) dx dy?

    • @MrPSolver
      @MrPSolver  3 года назад +1

      Thank you for this comment! Yes: it turns out my x and y were mixed up in my function (y has to come before x in the integrand=...) line. I've made corrections based on your comments and updated the GitHub code!

    • @adriankeister4389
      @adriankeister4389 3 года назад

      @@MrPSolver Well, that's subtle! What's the general rule about which order to do that in a lambda expression? 'Cause if I do func1 = lambda x, y: x + y**2, and func2 = lambda y, x: x + y**2, the first one yields the results I'm expecting, but the second one reverse the order of the arguments!

    • @MrPSolver
      @MrPSolver  3 года назад

      @@adriankeister4389 in general the variable that corresponds to the inner most integral (in this case y) comes first in the lambda function. Thanks again for catching this 😁. Happy to know you're going over the tutorial in depth!

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w 2 года назад

    this is a great tutorial. how does Scipy stats package compare to others?

  • @ebenfalls9929
    @ebenfalls9929 2 года назад

    Thank you so much!!!!!!!!
    This helps a lot really

  • @riadelhamoud8224
    @riadelhamoud8224 2 года назад

    very good video !!!
    Thanks a lot for sharing !!!

  • @duongthanh869
    @duongthanh869 2 года назад

    Thank you for a wonderful tutorials

  • @thatego9417
    @thatego9417 2 года назад

    hi , can you share your set_up , what kind of IDE ,you"re using and stuff

  • @JulioHuato
    @JulioHuato 2 года назад

    You lost me when you said "Celsius is the better unit." :-) That blunder aside: Thank you so much, bro!

  • @lucasantagata4551
    @lucasantagata4551 2 года назад

    Hi! When we define the constraints in the optimization part...how do we specify that we want >= 0 and not

  • @MrPetarBo
    @MrPetarBo 3 года назад

    Great video, thanks!

  • @elkiparionarojas9206
    @elkiparionarojas9206 Год назад

    muchas gracias... es una buena primera intro a scipy.. aunq en matrices si q volé jeje

  • @epicthunder2502
    @epicthunder2502 2 месяца назад

    is this tutorial for data Scientists as well?

  • @rohit2761
    @rohit2761 2 года назад

    You are genius bro

  • @amigosdelmicrobio
    @amigosdelmicrobio 2 года назад

    I tried to compute the third order derivative for the example used in this video, but it doesn't work; and the same even if I use much simpler functions that are clearly of class C infinite. It returns me a ValueError message in which it is specified that the error comes from the order argument (it is not the same as n), which I didn't even specify. Is it that scipy isn't really defined for computing higher order than 2 or maybe there is something I am missing?

  • @yennloo
    @yennloo 3 года назад +17

    Thanks, but you need to lube your keyboard (especially the ","-key)

  • @alvaroe2704
    @alvaroe2704 2 года назад

    Is the integral of the first example correctly formulated? 56:00

  • @dennisivanchavez
    @dennisivanchavez 3 года назад +1

    Thank you so much! Reading the documentation makes me nauseous

  • @空-x2h
    @空-x2h Год назад

    Can’t appreciate enough ❤

  • @bedegong08
    @bedegong08 2 года назад

    Thank you sir! this video is awesome!

  • @andresderudder9950
    @andresderudder9950 3 года назад

    Great video, thank you so much

  • @AhmedTaha-ij8xj
    @AhmedTaha-ij8xj 2 года назад

    so what is used for maximizing the function not minimizing?

  • @glecko9241
    @glecko9241 2 года назад

    Wow, thanks a lot!

  • @lifeisstrange418
    @lifeisstrange418 7 месяцев назад

    thats exactly what i needed thx

  • @varunsohanda2601
    @varunsohanda2601 3 года назад

    Thanks alot, could you take these on dark theme?

  • @varunsohanda2601
    @varunsohanda2601 3 года назад

    Also, can we find the errors for the sols of DE?

  • @paulocasagrandegodolphim8203
    @paulocasagrandegodolphim8203 2 года назад

    Excelent content!!!! Thank You!

  • @rufusbabatundelot1869
    @rufusbabatundelot1869 2 года назад

    Thanks

  • @adityaariewijaya9284
    @adityaariewijaya9284 3 года назад

    This is amazing!

  • @erikp6614
    @erikp6614 2 года назад

    Very nice video! (I hope no one stole anything from you...)

  • @tousifreza5288
    @tousifreza5288 2 года назад

    Very helpful video

  • @حيدرالعبيدي-ج4د
    @حيدرالعبيدي-ج4د 3 года назад

    Hello..I am a PhD student in physics from Iraq..I hope you can help me find codes in the Python program to study the Fe(II)particle (ising model 2D)to determine the spin crossover of the electrons and find the energy..with many thanks to you.

  • @suyudiakbarihabibi6679
    @suyudiakbarihabibi6679 Год назад

    thank you so much

  • @UraniumGirl
    @UraniumGirl 2 года назад

    Thank you man, that's really helpfull.

  • @cattnation6257
    @cattnation6257 8 месяцев назад

    can you explain quratnion with scipy

  • @mybooksforlearning
    @mybooksforlearning Год назад

    Thank you sir

  • @moiattube
    @moiattube Год назад

    The Road to Reality by Roger Penrose!

  • @rdmz234
    @rdmz234 2 года назад

    This is really helpful, I would like to see you provide something regarding Pymoo for Genetic algorithms !

  • @lameiraangelo
    @lameiraangelo 3 года назад

    This Guy is good...