Informatika2-2016/Gyakorlat13Megold
A MathWikiből
A lap korábbi változatát látod, amilyen Kkovacs (vitalap | szerkesztései) 2016. május 16., 12:20-kor történt szerkesztése után volt.
Tartalomjegyzék |
Bevezető
Ismerkedésképp néhány egyszerű feladat.
- Hozzunk létre egy 10 hosszú, csupa 0 vektort! Módosítsuk a 4. elemét 1-re! (zeros)
import numpy as np L = np.zeros(10) L[3] = 1
- Hozzunk létre egy 3x3-as mátrixot, 0-tól 8-ig növekvő számokkal! (reshape)
M = np.arange(9).reshape(3,3)
- Hozzunk létre egy 30 hosszú listát véletlen számokkal 0 és 1 között! Számoljuk ki az elemek átlagát és a szórását! (rand, mean, std)
R = np.random.rand(30) print R.mean() print R.std()
- Hozzunk lérte egy 30 hosszú listát véletlen számokkal -3 és 2 között!
R = np.random.rand(30) R = R * 5 R = R - 3
- Hozzunk létre egy véletlen, 5 dimenziós egységvektort! Először egy véletlen vektor, majd gondoskodjunk róla, hogy egység hosszú legyen!
E = np.random.rand(5) E = E / np.sqrt((E.dot(E)))
Monte-Carlo
Generáljunk 500,000 véletlen pontot a téglalapba. Szánoljuk meg, hogy hány olyan (x,y) pont van, ahol x2 < y. Ez alapján becsüljük meg az értékét! Segítség az előadás végén.
import numpy as np x = np.random.rand(500000) * 2 y = np.random.rand(500000) * 4 L = np.where(x ** 2 > y)[0] print len(L) / float(len(x)) * 2 * 4
- Most ugyanezt csináljuk meg, csak a véletlent zárjuk ki belőle! Osszuk fel a [0,2] és a [0,4] intervallumokat egyenletesen a linspace függvénnyel. A meshgrid és a ravel segítségével létrehozzuk a rácspontjait. Most ezekre a pontokra csináljuk meg a Monte-Carlot!
Numerikus integrál
Számoljuk ki az függvény integrálját a [ − 2,5]intervallumon téglalap módszerrel!
Gradiens módszer
Egy kétváltozós függvény minimumát a következőképp közelítjük. Elindulunk egy (x0,y0) pontból, majd -t kivonunk belőle. Ezt csináljuk addig, amíg a lépés abszolútértéke 0.0001 alatt nem lesz. Írjuk meg numpy segítségével az f(x,y) = x2 + y2 függvény minimumkeresését! ε = 0.01,(x0,y0) = ( − 1, − 1)!
- Tároljuk el a lépéseket egy tömbben és plotoljuk ki a pontokat a matplotlib segítségével!
Gauss-elimináció kézzel
Oldjuk meg Gauss-eliminációval az
- 3x1 − x2 + x3 − x4 + 2x5 = 13
- x1 − 2x2 + 3x3 − x4 = 5
- x1 − x2 − x3 − x4 − x5 = − 1
- x2 − 2x3 + x4 − 4x5 = − 7
- x1 + x3 + 3x4 − x5 = 5 egyenletrendszert!