Solving PDEs with the FFT [Matlab]

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 เม.ย. 2020
  • This video describes how to solve PDEs with the Fast Fourier Transform (FFT) in Matlab.
    Book Website: databookuw.com
    Book PDF: databookuw.com/databook.pdf
    These lectures follow Chapter 2 from:
    "Data-Driven Science and Engineering: Machine Learning, Dynamical Systems, and Control" by Brunton and Kutz
    Amazon: www.amazon.com/Data-Driven-Sc...
    Brunton Website: eigensteve.com
    This video was produced at the University of Washington
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 43

  • @HassanKhan-cs8ho
    @HassanKhan-cs8ho 4 ปีที่แล้ว +13

    you have Spoiled us Dr. Brunton! implementations in both Pyhton and Matlab!

    • @alexboche1349
      @alexboche1349 16 วันที่ผ่านมา

      What about Julia?

  • @alexandervassilev8602
    @alexandervassilev8602 4 ปีที่แล้ว +1

    My fav topic. And great thanks to Prof. Brunton for making these videos.

  • @MaksymCzech
    @MaksymCzech 4 ปีที่แล้ว +3

    Thank you for separate Pthon and Matlab videos!

  • @hecate3360
    @hecate3360 4 ปีที่แล้ว +1

    Thanks for all your videos!

  • @jaikumar848
    @jaikumar848 4 ปีที่แล้ว +4

    Thanks for this high quality content

  • @jamen1993
    @jamen1993 4 ปีที่แล้ว +3

    This is very valuable knowledge. Thanks for sharing it.

  • @mohamedyahya8131
    @mohamedyahya8131 4 ปีที่แล้ว +1

    Thank you very much
    your lectures are really interesting with your straightforward explanation

  • @hz6567
    @hz6567 2 ปีที่แล้ว +1

    Beautiful illustrations of using FFT to solve pde! I understand that this is an elementary example so things are kept simple. However, solving heat equations with ode45, which uses explicit time stepping scheme, is unstable since heat equations are stiff. It will be great to point it out so people will turn to the correct scheme later when they really need it.

  • @hyeonseokseong2431
    @hyeonseokseong2431 4 ปีที่แล้ว +1

    Great contents as always.

  • @ogh1332
    @ogh1332 3 ปีที่แล้ว

    Thank you, Steve this was fascinating for me. Just I couldn't find the end of the code from the Movie to the end. Best

  • @LucasVieira-ob6fx
    @LucasVieira-ob6fx ปีที่แล้ว

    Wow great content there!

  • @ANKITPATEL1661
    @ANKITPATEL1661 4 ปีที่แล้ว +3

    I am loving your FFT. Very basic and informative. I am waiting and looking forward when you will explain more about Non-uniform Fourier transform.

    • @Eigensteve
      @Eigensteve  4 ปีที่แล้ว

      Awesome! Thank you!

    • @AEX-rk4lg
      @AEX-rk4lg 11 หลายเดือนก่อน

      Thank you.

  • @alexeyl22
    @alexeyl22 4 ปีที่แล้ว +29

    I thought you were writing normally and then mirrored the video. 🤔

    • @videofountain
      @videofountain 4 ปีที่แล้ว +3

      @@var67 I agree .. he seems either bored with all the mirrored video questions ..... or really enjoying it.

    • @bryanrodriguezm.556
      @bryanrodriguezm.556 3 ปีที่แล้ว

      Me too. May be his years teaching gave him this super power.

    • @jexyl8071
      @jexyl8071 3 ปีที่แล้ว +3

      He was writing in the time domain instead of the frequency domain

    • @speedengineering
      @speedengineering 3 ปีที่แล้ว +1

      @@var67 I think it has to be a little joke. I found a website with this image which suggests he's left handed and they mirror the image. cdn.geekwire.com/wp-content/uploads/2020/11/brunton2-630x420.jpg
      Thanks for the great videos, Steve! Watched the entire series so far.

    • @ltenigma
      @ltenigma ปีที่แล้ว

      @@speedengineering How many people wear their wedding ring on their right hand? 😉😉

  • @leiyplane2011
    @leiyplane2011 2 ปีที่แล้ว

    Fantastic!

  • @jrayk8959
    @jrayk8959 ปีที่แล้ว

    Wow! Subscribed!

  • @krishnateja7852
    @krishnateja7852 4 ปีที่แล้ว +10

    Hello Prof. Brunton,
    Do you not mirror the video?

  • @joshuazhang4910
    @joshuazhang4910 4 ปีที่แล้ว +2

    Hi Prof. Brunton, really appreciates your great demo in this video! I tried another initial condition (step function) for this method, and it showed some errors at the edge. I think it might due to lack of boundary condition. Will you talk more about how to put boundary restriction into the code? Thanks!

    • @michaeln.1981
      @michaeln.1981 ปีที่แล้ว

      Hi late reply, but I believe it’s due to the fact we need it to be periodic, so a step function can only be done if you step it down further along

  • @user-wf7lu4rl6v
    @user-wf7lu4rl6v 2 ปีที่แล้ว

    Great lecture! what if the original singnal is complex number, the second derivative operator needs to use FFT for real part and imaginary part, respectively?

  • @mokranemokrane1941
    @mokranemokrane1941 4 ปีที่แล้ว +5

    Beautiful content. I wanted so much to pursue a PhD in applied math at UMN in this direction, unfortunately two days ago my application got rejected. This is so painful !

    • @Eigensteve
      @Eigensteve  4 ปีที่แล้ว +6

      I'm so sorry to hear that. But keep learning!

    • @AEX-rk4lg
      @AEX-rk4lg 11 หลายเดือนก่อน

      Where do you live?

    • @mokranemokrane1941
      @mokranemokrane1941 11 หลายเดือนก่อน

      @@AEX-rk4lg France

    • @AEX-rk4lg
      @AEX-rk4lg 11 หลายเดือนก่อน

      @@mokranemokrane1941 Nice! I think you are already lucky to live in France and have access to high quality education (while on USA you need to pay high fees for probably the same education??). Anyway, you can guess my country? it is called the "middle of nowhere".

  • @emmanueljrodriguez691
    @emmanueljrodriguez691 3 ปีที่แล้ว

    Great video Eigen Steve! But I am curious as to where the formulation written on line 9 is coming from? I understood the description, but I'm just confused as to how / where this came from? What about the 'fft' function in MATLAB, why is this not used instead of what's currently on line 9? - Forgive me, if I'm off base... new to Mr Fourier.

  • @roceb5009
    @roceb5009 2 ปีที่แล้ว +5

    0:30 wait, are you actually writing backwards for these?? I thought you just flipped the video horizontally 🤣

  • @mahdifx5404
    @mahdifx5404 3 หลายเดือนก่อน

    What should we do if we want to consider boundary conditions for the problem?
    like
    ux(left,t)=ux(right,t)
    uxx(left,t)=uxx(right,t)
    or
    ux(left,t)=ux(right,t)=f(x)

  • @waleedahmad-gv9yp
    @waleedahmad-gv9yp ปีที่แล้ว

    Dr Steve when you transformed uxx to frequency domain, you put kappa square but when you transformed ut to frequency you didn't write w along with it?

  • @nkminwings
    @nkminwings 2 ปีที่แล้ว +1

    Dear Prof. Brunton, Great lecture! I found a very minor typo in 'rhsHeat' function. => duhatdt = -a^2*(kappa.^2).' .* uhat; (maybe ignored because kappa.^2 would be a vector including the absolute values.)

    • @JoaoPedro-sb5sq
      @JoaoPedro-sb5sq ปีที่แล้ว

      Thanks for this. I'm using Octave instead of Matlab so it was giving me issues, not sure if this was one of them. I also changed a few things in the code to make it plot, like instead of plotting the waterfall with u(1:10:end,:)) I plotted real(u(1:10:end,:)) and got the same plot in his book.

  • @tushermyth
    @tushermyth 3 ปีที่แล้ว +15

    Nice way to confuse the audience who really were trying to figure out how this board works, hahaha

  • @SeidelMatheus
    @SeidelMatheus 2 ปีที่แล้ว +1

    So you just write everything mirrored?!?

  • @alijayameilio
    @alijayameilio 2 ปีที่แล้ว

    curious... are you writing in reverse or the video get flipped?

  • @tammygoyal9334
    @tammygoyal9334 3 ปีที่แล้ว +2

    A key observation is that he is always is pulling his tshirt down.

  • @tammygoyal9334
    @tammygoyal9334 3 ปีที่แล้ว

    I feel really intelligent being a high schooler here, which year do students learn this?