Az alábbi feladatok megoldásához szükséges adatfileok a /v/courses/fiznum1.public/data
mappában találhatóak.
A feladat megoldása során ne használjunk for ciklust és segédlistákat, hanem amennyiben lehet, a pandas
, numpy
és matplotlib
modulok beépített függvényeit és algoritmusait.
Az alábbi feladat a magyarországi kutató-fejlesztő helyek kutatóinak létszámát vizsgálja nemenként és korcsoportonként.
https://www.ksh.hu/stadat_files/tte/hu/tte0008.html
URL-en található táblázatot anélkül, hogy előtte letöltenénk egy fájlba az oldal tartalmát. (0.25p)A feladat megoldása során ne használjunk for ciklust és segédlistákat, hanem kizárólag a pandas
, numpy
és matplotlib
modulok beépített függvényeit és algoritmusait.
Ebben a feladatban a különböző helyeken és időpontokban történt UFO-észleléseket vizsgáljuk meg.
UFO_eszlelesek.csv
fájl tartalmát egy pandas
DataFrame-be. Alakítsuk át a "idopont" nevű oszlopot dátum típusúvá, a "szelesseg", "hosszusag" és "idotartam (s)" oszlopokat pedig számmá. (0.25p) https://developers.google.com/public-data/docs/canonical/states_csv
URL-en elérhető táblázatot egy pandas
DataFrame-be. (Ne töltsük le az adatokat előtte egy fájlba.) A kapott táblázatban a "latitude" és "longitude" oszlopok a különböző amerikai államok geometriai közepének, centroidjának a koordinátáit jelölik. Fűzzük össze ezt a táblázatot az UFO észlelések táblázatának azon soraival, melyek Amerikából származó észlelést tartalmaznak. (Legyünk résen az összefésülendő oszlopok azonosításánál és azok pontos tartalmával kapcsolatban is.) (0.5p)apply
metódussal hattassunk a táblázatra. A függvény megírásához segítségünkre lehet a Haversine képlet.) Próbáljuk meg értelmezni a kapott eloszlást, miért lehet ilyen? (1p)A feladat megoldása során ne használjunk for ciklust és segédlistákat, hanem amennyiben lehet, a pandas
, numpy
és matplotlib
modulok beépített függvényeit és algoritmusait.
Ebben a feladatban Zürich kutyáit és gazdijaikat elemezzük.
kutyatartok.csv
adatfájlt egy pandas
DataFrame-be. Hány gazdinak van egynél több kutyája? Hány kutyája van a legtöbb kutyát tartó gazdinak? A két kutyát tartó gazdik közül hánynak van ugyanolyan és hánynak két különböző típusú kutyája? (0.25p)seaborn
modult.) (0.5p)Egy $a$ szám lánctörtfelbontása az
$$ a = a_0+\frac{1}{a_1+\frac{1}{a_2+\frac{1}{a_3+\ldots}}} $$
alakú előállítását jelenti, ahol $a_k$ egészek, és $a_0$ kivételével mind pozitív kell legyen. Irracionális $a$ számra ennek véges részletével (amikor az $a_{n-1}$ melletti tagot elhagyjuk) viszonylag pontos $p/q$ racionális közelítést lehet adni. Tipikusan az $1/q^2$ pontosság érhető el, de pl. a $\pi$ esetében a lánctörtet $a_3$-ig kiértékelve $\pi\approx 355/113$ közelítést kapunk, aminek a hibája a várt $10^{-4}$ helyett csupán $\approx 3\cdot 10^{-7}$.
Ha a lánctörtben az $a_{n-1}$ melletti tagot nem egyszerűen elhagyjuk, hanem $x$-szel helyettesítjük, akkor minden $n$-re egy-egy függvényt kapunk, pl. $n=4$ esetén:
$$ f_n([a_0,...a_{n-1}],x) = a_0+\frac{1}{a_1+\frac{1}{a_2+\frac{1}{a_3+x}}} $$
Állítsuk elő az $f_n$ függvényt $n=1,2,3,4,5$ esetekre, és a together
függvény használatával mindegyiket hozzuk $g(x)/h(x)$ alakra, és úgy írassuk ki! Igaz-e, hogy $g$ és $h$ mindegyiknél lineáris függvény?
(0.6p)
Mivel a nagyobb $n$ értékeknél nehezen kiolvasható a lineáris és konstans tagok együtthatója, a fraction
függvénnyel válaszuk külön a számlálót és a nevezőt, utána pedig a collect
függvénnyel gyűjtsük össze az $x$-ben lineáris tagokat!
Azonban a többtagú kifejezések szorzatából a collect nem tudja kiszedni az $x$-es tagokat, ezért előtte az expand
függvénnyel fel kell bontanunk a zárójeleket. Írassuk ki az így kapott számlálót és nevezőt is $n=5$-ig!
(0.5p)
Most írassuk ki e lineáris törtfüggvényeket, mindegyik $a_k$ értékbe 1-et helyettesítve! Észre veszünk-e valamit az együtthatókon? (0.4p)
Ábrázoljuk is a függvényeket a $[0,64]$ intervallumon, szintén mindegyik $a_k$ értékbe 1-et helyettesítve!
Igaz-e, hogy mindegyik oda tartani látszik $x\rightarrow\infty$ esetén, ahonnan az előző függvény indeul $x=0$-nál?
Ellenőrizzük ezt a limit
függvény használatával!
(0.5p)
Írjunk egy fun
nevű függvényt, ami tetszőleges $n$-re létrehozza az $f_n$ függvényt, szintén lineáris törtfüggvényként!
A függvény egyetlen argumentuma legyen az $a_0, a_1, \ldots a_{n-1}$ értékekből vagy változókból álló lista!
Tehát ez általános $a_k$ értékekre kell működjön.
Az $n$ értékét pedig nem szabad külön átadni!
Ellenőrizzük az $n=4$ esetre a már legyártott függvénnyel összehasonlítva fun([a0,a1,a2,a3])
eredményét!
Próbáljuk ki 10 db 1-esből álló listával is: ha jól csináltuk, akkor az $55$ kétszer szerepel az együtthatók közt!
(0.5p)
Egy $f(x)$ függvény $n$-ed rendű Taylor-polinomját a következő képpen definiáljuk: \begin{equation} T_n(x) = f(0) + \frac{f'(0)}{1!} x + \frac{f''(0)}{2!} x^2 + \ldots + \frac{f^{(n)}(0)}{n!} x^n \end{equation}
Az $f(x)$ függvény $m$ per $n$ Padé-közelítése pedig a következő alakot ölti \begin{equation} P_{n}^{m}(x) = \frac{a_0 + a_1 x + a_2 x^2 + \ldots + a_m x^m}{1 + b_1 x + b_2 x^2 + \ldots b_n x^n} = \frac{A_m(x)}{B_n(x)}, \end{equation} ahol az együtthatók $a_0, a_1, \ldots, a_m$ és $b_1, b_2, \ldots, b_n$ úgy vannak megválasztva, hogy a következő teljesül \begin{equation} A_m(x) - T_{m + n}(x) B_n(x) = K(x) x^{n + m + 1} \end{equation} valamilyen $K$ polinomra.
Írj egy függvényt ami kiszámolja egy sympy szimbolikus kifejezés $n$-ed rendű Taylor-polinomját azaz $T_n$-et. A bemenő paraméterek legyenek a következőek: a kifejezés amit sorfejtünk, a változó ami szerint sorfejtünk, és az utolsó bemeneti változó legyen az $n$. A feladat megoldása során NE HASZNÁLD a sympy
modul beépített series
függvényét! (0.5p)
Számold ki szimbolikusan az $e^{-2x}$ kifejezés ötöd rendű Taylor-polinomját az $x$ változó szerint. (0.25p)
Írj egy függvényt ami kiszámolja egy sympy szimbolikus kifejezés $m$ per $n$ Padé-közelítését. Válaszd úgy az $a_0, a_1, \ldots, a_m$ és $b_1, b_2, \ldots, b_n$ együtthatókat, hogy az $A_{m}(x) - T_{n + m}(x) B_{n}(x) = c_0 + c_1 x + \ldots c_{n + m} x^{n + m} + K(x)x^{n + m + 1}$ polinom $c_i$ együtthatói legyenek nullák. Ehhez egy $n + m + 1$ változós lineáris egyenletrendszert kell megoldani amit a következő egyenletek definiálnak $c_i(a_0, a_1, \ldots, a_m, b_1, b_2, \ldots, b_n) = 0$ minden $i \in \{0, 1, 2, \ldots, n + m\}$. Használd a sympy solve
függvényét. (1.0p)
Számold ki az $e^{-x}$ Padé táblázatát $n = 3$-ig és $m = 3$-ig. (0.25p)
Határozd meg az $\ln(1 + x) / x$ függvény 20-ad rendű Taylor-polinomját és 3 per 3 Padé közelítését. Ábrázold a Taylor-polimomot, a Padé-közelítést és a $\ln(1 + x) / x$ függvényt egy ábrán az $x \in (-1, 3)$ tartományon. Írd le saját szavaiddal mit tapasztalsz, és melyik közelítést használnád ha $x > 1$. (0.5p)
A K részecske létezésének igazolására végzett kísérletek egyike során a mérések a kísérleti Kocka tartályban egy ilyen elektromos potenciál kialakulását igazolták:
$$ U = - \log(y^2+z^2) $$Ebből próbálhatunk következtetni a töltéssel rendelkező K részecskék jelenlétére. A Kocka élei a koordinátatengelyekkel párhuzamosak, vetülete mindhárom tengelyre a $[-a,a]$ intervallum.
Határozzuk meg az elektromos teret az $\underline E = - \mbox{grad}\, U $ összefüggés alapján! (0.5p)
Számoljuk ki ennek divergenciáját, ami sima töltéssűrűség esetén annak értékével arányos! Vajon ha itt eredményül 0 értéket kapunk, akkor az minden pontban érvényes, így biztosan nincs töltés a Kockában? (0.5p)
Mivel az elektromos térnek a Kockára vett felületintegrálja a benne lévő töltéssel arányos, próbáljunk következtetni a töltésre a felületintegrál kiszámításával! Először vizsgáljuk meg a Kocka 6 lapja közül van-e, amin az elektromos tér a felülettel párhuzamos, mert akkor arra nem kell számolnunk. Azt is nézzük meg, vannak-e oldalak, amiken szimmetriatulajdonság miatt egyenlő lesz az integrál, akkor azt elég egyszer kiszámolni! Végül állapítsuk meg, van-e töltés a Kockában! (0.6p)
Ellenőrizzük, hogy az elektromos tér rotációmentes, a rotáció tényleges kiszámításával! (0.5p)
Számítsuk ki erre a nem rotációmentes vektortérre is a divergenciát és a rotációt: $$ \underline v = \left ( \begin{array}{c} z-y \\ x-z \\ y-x \end{array} \right ) $$ Ez alapján mit mondhatunk, $\underline v$ milyen irányú tengely körüli örvényt írhat le? (0.4p)