Code written for the 6. task of Matematično-fizikalni praktikum in the year 2021/22.
  • Python 88.9%
  • TeX 11.1%
Find a file
2023-10-16 00:03:21 +02:00
3Dplottest.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
abserr_euler.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
abserr_heun.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
abserr_midpoint.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
abserr_rk4.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
adaptive_test.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
diffeq.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
diffeq_stability.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
diffeq_tsint.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
different solutions.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
err_time_euler.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
err_time_heun.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
err_time_midpoint.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
err_time_rk4.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
family_1.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
family_2.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
main_06.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
Marko_Urbanč_06.pdf init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
mp06.tex init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
Nonworking.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
README.md docs: 📝 update README 2023-10-16 00:03:21 +02:00
sol_k001_h004.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve2_1e-05.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve2_002.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve2_020.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve2_100.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve2_400.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve_1e-05.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve_002.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve_020.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve_100.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
solve_400.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
test_solve_010.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
test_solve_100.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
tests.py init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
time_euler.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
time_heun.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
time_midpoint.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
time_rk4.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00
times.png init: 🎉 archival commit 2023-10-15 23:23:58 +02:00

DN 6. Enačbe hoda (Prevajanje toplote)

Diferencialne enačbe so povsod v fiziki. V tej nalogi se naučimo, kako jih lahko rešujemo numerično. Pravzaprav bodo zdaj naloge bolj ali manj sestavljene iz reševanja diferencialnih enačb, do zadnje naloge, kjer bomo uporabili strojno učenje. Skratka, very important stuff.

Navodila

Naloga želi, da rešiš dano enačbo z Eulerjevo metodo in nato še z čimveč naprednejšimi metodami. Vse to je potrebno narediti za različne začetne pogoje ob danem parametru enačbe. Predvsem je pomembno, da raziščeš vpliv velikosti koraka na karakteristike dobljene rešitve. Na koncu pa nariši še družine rešitev za različne parametre enačbe.

Napotki

1. Integratorji

Če se prav spomnem prof. Kerševan pri tej nalogi pripne skripto z že napisanimi metodami za integracijo. Meni te niso delale zato sem napisal svoje. Zdi se mi oboje koristno. To da veš, da obstaja že napisana metoda in to da jo poskusiš napisati sam, le tako lahko razumeš kako deluje.

2. Vgrajene funkcije

Mogoče je to malo moj pet peeve, ampak striktno gledano recimo scipy.integrate.solve_ivp ni algoritem za reševanje diferencialnih enačb, ampak je wrapper okoli že napisanih algoritmov. Za boljše informacije se tu spet splača prebrati dokumentacijo in mogoče tudi prelistati kak članek, kjer so opisali algoritem in njegovo implementacijo.

3. Še kakšen dodaten integrator

Cel smisel te naloge je, da se igraš z integratorji. Ni drugega kot to. Torej lepo prosim izživljaj se. Pokaži kako daleč si zrasel kot fizik. Tu imaš nekaj idej:

Prva dva sta legit NASA članka. Lej kako daleč si že prišel! Ponosen sem nate, bralec. Tretji pa vsebje malenkost spoilerje za naslednjo nalogo, ampak je vseeno zanimiv.

Kar sem jaz naredil

Tu je verjetno tisto kar te najbolj zanima.

Standard Disclaimer Objavljam tudi kodo. Ta je bila včasih del večjega repozitorija, ampak sem jo sedaj izvzel v svojega, da je bolj pregledna. Koda bi morala biti razmeroma pokomentirana, sploh v kasnejših nalogah.

Vseeno pa priporočam, da si najprej sam poskusiš rešiti nalogo. As always za vprašanja sem na voljo.

⚠️ WARNING ⚠️ : Za natančnost rezultatov sem dobival za različne metode podobne rezultate, kar se mi zdi nenavadno. Gotovo je kje napaka, ampak je nisem uspel najti. Mogoče jo lahko ti.

Priznam, da zna biti source repozitorij nekoliko kaotičen. Over time sem se naučil boljše prakse. Zdi se mi, da je tole glavni .py file.

Citiranje

Malo za šalo, malo za res.. če želiš izpostaviti/omeniti/se sklicati ali pa karkoli že, na moje delo, potem ga lahko preprosto citiraš kot:

@misc{Urbanč_mfpDN6, 
  title={Enačbe hoda}, 
  url={https://pengu5055.github.io/fmf-pages/year3/mfp/dn6.html}, 
  journal={Markos Chest}, 
  author={Urbanč, Marko}, 
  year={2023}, 
  month={Oct}
} 

To je veliko boljše kot prepisovanje.