Matematikai programok

Hasonló dokumentumok
Matematikai programok

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

rank(a) == rank([a b])

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei. Atomerőművek üzemtana

MATLAB alapismeretek I.

6. előadás. Matlab 1. (Ismerkedés, környezet, adattípusok) Dr. Szörényi Miklós, Dr. Kallós Gábor. Széchenyi István Egyetem

Vektorok. Octave: alapok. A fizika numerikus módszerei I. mf1n1a06- mf1n2a06 Csabai István

SCILAB programcsomag segítségével

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

3. el adás: Determinánsok

Lineáris algebra zárthelyi dolgozat javítókulcs, Informatika I márc.11. A csoport

12. előadás. Egyenletrendszerek, mátrixok. Dr. Szörényi Miklós, Dr. Kallós Gábor

Matlab alapok. Baran Ágnes. Baran Ágnes Matlab alapok Elágazások, függvények 1 / 15

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

Lineáris egyenletrendszerek

A MATLAB alapjai. Kezdő lépések. Változók. Aktuális mappa Parancs ablak. Előzmények. Részei

Matematika szigorlat június 17. Neptun kód:

É Á Á Ö Á

MATLAB alapismeretek II.

ö ő ü ö ő ő ü ü ő ő ő ü ö ü ü ő ú ő ő ő ü ő ő ő ő ő ú ő ő ü ő ő ő ü ö ü ú ő ő ő ő ü ü ő ő ú

É É Ö

ó Ó ú ó ó ó Á ó ó ó Á ó ó ó ó Á ó ú ó ó ó

ú Ó ú ú ú ú ú ú ú É Á

ü ü Ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü ü É ü ü

ű ő ő ő

Á ó ó ó Ü Ü ó ó Ü ó ó ú ú ó ó Ü ó ó ó Ü ó ó

Ú ű É ű ű Ü Ü ű ű Ú É ű ű Ü ű ű ű ű ű ű ű Ú ű ű

Á Ü É Ü Ú Ü É

ű Ö ű Ú ű ű ű Á ű

Á Ó ű ű Á É ű ű ű ű Ú Ú

ű Ú ű ű É Ú ű ű

Á Á ő ő Ö ő ő ö É ö ő ö ő ő ö ő ő ö ő ő ü ö

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

ű ű ű Ú Ú Á ű Ö ű ű Ú Ő É

Ó Ó ö ú ö ö ö ö ü ú ú ö ö ö ú ú ö ö ö ú ú ú ű ö ö ú ö ü ö ö ö ö ü ú Á ö ü Á ö ö ö ö ö ö

ü ú ú ü ú ú ú ú

Ó é é Ó Ó ő ű Ó Ö ü Ó é Ó ő Ó Á Ö é Ö Ó Ó é Ó Ó Ó Ó ú Ó Ó Ó Ó ű Ö Ó Ó Ó é Ó Ó ö Ö Ó Ö Ö Ó Ó Ó é ö Ö é é Ü Ó Ö Ó é Ó é ö Ó Ú Ó ő Ö Ó é é Ö ú Ó Ö ö ű ő

Á Ö Ö Ö Ö ú ú Ö Ö Ó Ó ú ú Ü ú Ó Ö Ö Ü Ó Ö Ö Á Ó ú ú ú ű Ö Ö Ö Ö Á Ó Ö Ó ú ú Ö

Programok értelmezése

ó ő ő ó ő ö ő ő ó ó ó ö ő ó ó ó ö ő ó ő ő ö Ö ő ö ó ő ö ő ő ú ö ö ü ö ó ö ö ö ő ö ö Ö ú ü ó ü ő ő ő ő ó ő ü ó ü ö ő ö ó ő ö ő ö ü ö ü ő ö ö ó ö ő ő ö

ö ö Á Á Ó Á ö ö ö ö ö ú ű ö ö Á Á ű ű ö ö ö ö ű

Á ű ó ó

ú ö ö ö ö ö ö Á ö ö ö á á á ű Ü ű ö ö Á á Á

é ü ó ö é Ö é ü é é ó ö é ü ü é é ó ó ó é Á é é ü ó é ó ó é ö ö ö é é ü é ü é é ö ü ü é ó é é é é é é ö é é é é é é ö é ó ö ü é é é ü é é ó é ü ó ö é

Gauss-eliminációval, Cholesky felbontás, QR felbontás

Dinamikus modellek szerkezete, SDG modellek

Ó Ó ó ö ó

Baran Ágnes. Gyakorlat Komplex számok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 16

ü ű í ú ú ü ü ü ű ü ű ü ű ü ű ü í ü ű í í ü í í í í í ü í ű

Gauss elimináció, LU felbontás

SZÁMÍTÁSOK A TÁBLÁZATBAN

A függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.

3. Gyakorlat Ismerkedés a Java nyelvvel

MATLAB. 3. gyakorlat. Mátrixműveletek, címzések

Intergrált Intenzív Matematika Érettségi

KOVÁCS BÉLA, MATEMATIKA I.

1. zárthelyi,

Algoritmizálási feladatok

Lineáris algebra és a rang fogalma (el adásvázlat, szeptember 29.) Maróti Miklós

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Bevezetés az algebrába 1

Algoritmusok Tervezése. 1. Előadás MATLAB 1. Dr. Bécsi Tamás

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Vektorok, mátrixok, lineáris egyenletrendszerek

MATEMATIKA ÉRETTSÉGI VIZSGA ÁLTALÁNOS KÖVETELMÉNYEI

Atomerőművek üzemtanának fizikai alapjai. MATLAB használata

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

1. Mátrixösszeadás és skalárral szorzás

Mer legesség. Wettl Ferenc Wettl Ferenc Mer legesség / 40

Komplex számok. Wettl Ferenc szeptember 14. Wettl Ferenc Komplex számok szeptember / 23

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

Lineáris algebra Gyakorló feladatok

ú ű ú ú ű ú ű ű ú ű ú ű Á ű ű Á ű ű ú ú ú ú ú ú ű ú ú ú ú ú ú ú ú

Bevezetés a programozásba I.

Matematika. Specializáció évfolyam

BASH script programozás II. Vezérlési szerkezetek

ő ő Ű ü ú ú Ú ü ű ő ő ő ő Á Á Í ü É ő ő ő ő ő É ő ú ú ú ő Á Ö ő

É Ö Á Í Á Ó Ö ü

Komplex számok. Wettl Ferenc Wettl Ferenc () Komplex számok / 14

É ú É ö ö ű ö ö ö ú ú ú ű ű ú ö ű ö ű ű ü ö ö ü ű ö ü ö ö ö ö ú ü ö ö ö ú ö ö ú ö ö ú ü ú ú ú ű ü ö ö ű ú ű ű ü ö ű ö ö ö ű ú ö ö ü ú ü ö ö ö ü ú ö ű

BABEŞ-BOLYAI TUDOMÁNYEGYETEM MATEMATIKA-INFORMATIKA KAR Felvételi verseny - minta Informatika írásbeli

12 48 b Oldjuk meg az Egyenlet munkalapon a következő egyenletrendszert az inverz mátrixos módszer segítségével! Lépések:

Programozás alapjai. 5. előadás

ő ő ő ő ú É ü ú ú ű ú ű ő ő ő ő Á Á ü ő É É É É É É Á Ú Á Á ő ő ő ő ő É Á Á Á ő ő ő Á ü ő ő ü

ú ú ö ö ü ü ü ü ű ü ü

Excel Hivatkozások, függvények használata

Ö Ö ű ű ű Ú Ú ű ű ű Ú ű

Ü ű ö Á Ü ü ö ö

ú ú ü ü Á ú ú ü ű ű ú ü ü ü ü

É ő ő ű ú Á ő Á ő ű ő ő ő ő ő ő ő ő ű ú ű ű ő ő ő ű

Í Ú É ő ő ú ö Ö ú ú ú ö ö ú ö ö ű ö ő ö ö ú ö ő ő ö ö ö ő ő ú ő ú ö ö ö ú ö ö ú ő ö ú ö ű ö ő Ó ő Á ö ő ö ö

Ö Ö ú

ü ö ú ö ú ü ö ü Á Ó ö ö ö ö ú ü ú ü ü ú ú ö ö ü ü ú ü ü ö ö ű ö ü ü ü ü ö ö

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

MATEMATIKA TANTERV Bevezetés Összesen: 432 óra Célok és feladatok

Á Á Ö Ö Ü É Ö É É Á Ú É É É É Á Á Ö Ö Ő

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

ú ű ű É ü ű ü ű ű í ü í ő í Ü ő ő ü ú Í ő ő í ú ü ü ő ü

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Ó ű ű Á ú ű ű ú ú ú ű ű É ú É Á Á ú ű Ü Á Ü Á ű Ö Ú É Ó É Á Á Á Ű Á úá Á Ö É Ö É Ü

Átírás:

Matematikai programok Mátrixalapú nyelvek octave Wettl Ferenc Algebra Tanszék B U D A P E S T I M Ű S Z A K I M A T E M A T I K A É S G A Z D A S Á G T U D O M Á N Y I I N T É Z E T E G Y E T E M Wettl Ferenc Matematikai programok 1 / 23

1 Gyors áttekintés 2 Programozás 3 Vektorosítás Wettl Ferenc Matematikai programok 2 / 23

Gyors áttekintés 1 Gyors áttekintés 2 Programozás 3 Vektorosítás Wettl Ferenc Matematikai programok 3 / 23

Gyors áttekintés Mátrixalapú nyelvek MATLAB R (matrix laboratory The Language of Technical Computing) kereskedelmi program többmillió felhasználó numerikus matematika, jel- és képfeldologozás, kommunikáció, irányítástechnika, pénzügyi matematika,... http://www.mathworks.com szabad klónok: octave: GNU GPL, honlap www.gnu.org/software/octave/ Scilab: CeCILL license (GPL compatible), honlap www.scilab.org (f fejleszt : INRIA, Franciaország) FreeMat: GPL, honlap freemat.sourceforge.net/ Hasonló szoftverek: julia: MIT licensed, (high-performance dynamic programming language for technical computing), honlap julialang.org/ R: GPL, statisztikai számításokhoz Wettl Ferenc Matematikai programok 4 / 23

Gyors áttekintés Számolás valós és komplex számok octave > 1 + 1 2 octave > 2^23 8388608 octave > 2^ -3 0. 12500 octave > 2^123 1.0634 e +37 octave > (1 + 2 i ) / (3-1 i ) 0. 10000 + 0. 70000 i octave > (1-1 i )^8 16 Wettl Ferenc Matematikai programok 5 / 23

Gyors áttekintés Számolás mátrixokkal valós és komplex mátrixok octave > [1 1; 3 3] + [1 2; 2 3]*[ 3 1; 2 1]^ -1-2.00000 6.00000-1. 00000 10. 00000 octave > [1 1; 3 3] + [1 2; 2 3] * [2 1; 1 1]^ -1 3.3307 e -16 4.0000 e +00 2.0000 e +00 7.0000 e +00 octave > [1; 2] 1 2 octave > ans ' 1 2 Wettl Ferenc Matematikai programok 6 / 23

Gyors áttekintés octave > zeros (2, 3) 0 0 0 0 0 0 octave > ones (1, 4) 1 1 1 1 octave > eye (3) Diagonal Matrix 1 0 0 0 1 0 0 0 1 octave > diag ([2 3 1]) Diagonal Matrix 2 0 0 0 3 0 0 0 1 Wettl Ferenc Matematikai programok 7 / 23

Gyors áttekintés Mátrixok osztása és inverze A/B = C jelentése: A = CB A\B = C jelentése: B = AC Az Ax = b egyenletrendszer megoldására két lehet ség: (1) x = A\b, (2) { invertálható } együtthatómátrix esetén A 1 b x 3y = 15 Oldjuk meg a egyenletrendszert kétféleképp! 4x + 2y = 18 octave > [1-3; 4 2] \ [ 15; 18] 6-3 octave > [1-3; 4 2]^ -1 * [ 15; 18] 6-3 Wettl Ferenc Matematikai programok 8 / 23

Gyors áttekintés Mátrixok osztása akkor is elvégezhet, ha a nevez ben lév mátrix nem invertálható (ekkor a kés bb tanulandó általánosított inverzzel számol). Ezzel mindig megkapható az egyenletrendszer sortérbe es megoldása, a redukált lépcs s alakkal az összes. Az egyenletrendszer legyen x + y + 2z = 2 2x + 2y + 3z = 4 octave > [1 1 2; 2 2 3] \ [4; 8] 2.0000 e +00 2.0000 e +00 7.1054 e -15 octave > rref ([1 1 2; 2 2 3]) 1 1 0 0 0 1 Wettl Ferenc Matematikai programok 9 / 23

Gyors áttekintés Egészek A legtöbb számolás duplapontosságú lebeg pontos számokkal történik. Az egész típus inkább csak adatok tárolására vagy megjelenítésére való. integer b biten, vagy unsigned integer: int8, uint8, int16, uint16, int32, uint32, int64, uint64. octave > 10 * rand (2, 3) 8. 390913 0. 500552 6. 421794 9. 608188 1. 873848 0. 028212 octave > int8 ( ans ) 8 1 6 10 2 0 Wettl Ferenc Matematikai programok 10 / 23

Gyors áttekintés Tartományok (ranges) kezdet:lépésköz:vég octave > 1:4 1 2 3 4 octave > 4:1 [](1 x0 ) octave > 9: -3:1 9 6 3 octave > 1.1:.237:2.1 1. 1000 1. 3370 1. 5740 1. 8110 2. 0480 Wettl Ferenc Matematikai programok 11 / 23

Gyors áttekintés Változók octave > a = 3 a = 3 octave > m = [ 1 2 a 2 a 4] m = 1 2 3 2 3 4 octave > m ' * m 5 8 11 8 13 18 11 18 25 Wettl Ferenc Matematikai programok 12 / 23

Gyors áttekintés Adattípusok: typeinfo, scalar, matrix, range, string valós és komplex skalár és mátrix, tartomány (range), karakterlánc... octave > typeinfo ( a ) scalar octave > typeinfo ( 1. 23) scalar octave > typeinfo ( m ) matrix octave > typeinfo ([1 + 2 i 1-2 i ]) complex matrix octave > typeinfo ( 1: 4) range octave > typeinfo ( " valami " ) string Wettl Ferenc Matematikai programok 13 / 23

Gyors áttekintés Indexek octave > M M = 8 1 6 10 2 0 octave > M (1, 3) 6 octave > M (1, [2, 3, 1]) 1 6 8 octave > M (:, [2, 3, 1]) 1 6 8 2 0 10 Wettl Ferenc Matematikai programok 14 / 23

Programozás 1 Gyors áttekintés 2 Programozás 3 Vektorosítás Wettl Ferenc Matematikai programok 15 / 23

Programozás Függvények octave > function fv1 1 + 1 endfunction octave > 2 fv1 octave > function fv2 ( a, b ) a ^2 + b ^2 endfunction octave > fv2 (3, 4) 25 Wettl Ferenc Matematikai programok 16 / 23

Programozás function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; endfunction octave > [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): function visszaadott érték = függvénynév (argumentumlista) octave utasítások endfunction Wettl Ferenc Matematikai programok 17 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) octave > 4 > 1 1 octave > 4 < 1 0 octave > 4 == 1 0 octave > 4 >= 1 1 octave > (4 >= 1) == 1 1 octave > typeinfo ( ans ) bool octave > a = true a = 1 Wettl Ferenc Matematikai programok 18 / 23

Programozás Feltételes utasítás if (feltétel) octave utasítások else octave utasítások endif # ez a rész # kimaradhat Wettl Ferenc Matematikai programok 19 / 23

Programozás Feltételes utasítás (példa) function valosvagykomplex (a, b, c ) d = b ^2-4* a * c ; # ; hogy ne irja ki d erteket if ( d >= 0) " valos " else " komplex " endif endfunction octave > valosvagykomplex (1, 1, 1) komplex octave > valosvagykomplex (1,2,1) valos Wettl Ferenc Matematikai programok 20 / 23

Vektorosítás 1 Gyors áttekintés 2 Programozás 3 Vektorosítás Wettl Ferenc Matematikai programok 21 / 23

Vektorosítás Vektorosítás A cél, hogy a kódismétlés és a ciklusutasítások helyett vektor-/mátrixm veleteket használjunk. Így hatékonyabb, tömörebb kód jön létre. Írjunk kódot, mely egy adott (v 1, v 2,..., v n ) vektorból a különbségek (v 2 v 1, v 3 v 2,..., v n v n 1 ) vektorát képzi! octave > l = [3 4 6 2 5 1] l = 3 4 6 2 5 1 octave > l (2:6) - l (1:5) 1 2-4 3-4 Wettl Ferenc Matematikai programok 22 / 23

Vektorosítás Alkalmazzuk az f(x) = x 2 + 3x + 1 képletet egy mátrixra! octave > function keplet ( a ) a ^2 + 3* a + 1 endfunction octave > keplet ( [1 1; 0 2]) 5 7 1 11 Alkalmazzuk az f(x) = x 2 + 3x + 1 képletet egy mátrix minden elemére! octave > function keplet ( a ) a.^ 2 + 3.* a + 1 endfunction octave > keplet ([1:3 5]) 5 11 19 41 Wettl Ferenc Matematikai programok 23 / 23

Vektorosítás Kérdések Mire és hogyan használhatók az eye, ones, zeros és diag parancsok? Hozzunk létre egy m nev véletlen 4 5-ös mátrixot, melynek elemei 0-tól 9-ig terjed egészek! Soroljuk fel a tanult adattípusokat! Melyik paranccsal jutunk ehhez az információhoz egy adatról? Írjunk függvényt, melynek x a bemenete és az x + 4 + 1 értéket x 2 x 3 adja vissza! Írjunk meg ugyanezt a függvényt, de úgy, hogy egy mátrixra alkalmazva, annak minden elemére kiszámítsa az értékét! Mi az eredménye a 1 == (2 > 4) és a 0 == (2 > 4) m veletnek? Ezeknek mi az adattípusa? Egy 4 5-ös véletlen mátrixon végezzünk elemi sorm veleteket! Írjunk függvényt, mely az argumentumába írt számról eldönti az el jelét és azt karakterláncként kiírja! Wettl Ferenc Matematikai programok 24 / 23

Vektorosítás Kérdések Képezzünk egy 10 10-es mátrixot, melynek blokkmátrix alakja: [ ] O5 I 5 Oldjuk meg az I 5 O 5 x 2y = 1 2x + y = 7 egyenletrendszert mátrixosztással, és az inverzzel való szorzással. Számítsuk ki az x 2y + 3z = 1 2x + y + z = 3 egyenletrendszer egyetlen sortérbe es megoldását, majd az együtthatómátrix redukált lépcs s alakját! Wettl Ferenc Matematikai programok 25 / 23