Matematikai programok

Hasonló dokumentumok
Matematikai programok

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

MATLAB alapismeretek I.

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

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

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

MATLAB alapismeretek II.

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

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

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

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

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.

Gauss elimináció, LU felbontás

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

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

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

Programok értelmezése

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

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

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

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

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

1. Alapok. #!/bin/bash

Algoritmizálási feladatok

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

SCILAB programcsomag segítségével

Programozás alapjai. 6. gyakorlat Futásidő, rekurzió, feladatmegoldás

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

Lineáris egyenletrendszerek

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

3. el adás: Determinánsok

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

Intergrált Intenzív Matematika Érettségi

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

Matematika. Specializáció évfolyam

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

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

Lineáris algebra Gyakorló feladatok

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

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Annak a function-nak a neve, amiben letároltuk az egyenletünket.

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

Tantárgy kódja Meghirdetés féléve 3 Kreditpont 4 Összóraszám (elm+gyak) 2+2

Gauss-Seidel iteráció

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

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

Matlab alapok. Baran Ágnes

BME MOGI Gépészeti informatika 4.

Példatár a bevezetés a Matlab programozásába tárgyhoz

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:

MA1143v A. csoport Név: december 4. Gyak.vez:. Gyak. kódja: Neptun kód:.

Bevezetés a programozásba I.

BME MOGI Gépészeti informatika 1.

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

1. Determinánsok. Oldjuk meg az alábbi kétismeretlenes, két egyenletet tartalmaz lineáris egyenletrendszert:

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

Bevezetés a programozásba I.

Matematika szigorlat, Mérnök informatikus szak I máj. 12. Név: Nept. kód: Idő: 1. f. 2. f. 3. f. 4. f. 5. f. 6. f. Össz.: Oszt.

Baran Ágnes. Gyakorlat Halmazok, függvények, Matlab alapok. Baran Ágnes Matematika Mérnököknek Gyakorlat 1 / 34

Koordinátageometria. M veletek vektorokkal grakusan. Szent István Egyetem Gépészmérnöki Kar Matematika Tanszék 1

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

Gyakorló feladatok Gyakorló feladatok

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

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

Bevezetés a programozásba I.

Szkriptnyelvek. 1. UNIX shell

Alapok. tisztán funkcionális nyelv, minden függvény (a konstansok is) nincsenek hagyományos változók, az első értékadás után nem módosíthatók

Bázistranszformáció és alkalmazásai 2.

KOVÁCS BÉLA, MATEMATIKA I.

1. zárthelyi,

Sztojka Miroszláv LINEÁRIS ALGEBRA Egyetemi jegyzet Ungvár 2013

A MATLAB PROGRAMOZÁSA

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

MATEMATIKA I. RÉSZLETES ÉRETTSÉGI VIZSGAKÖVETELMÉNY A) KOMPETENCIÁK

KOVÁCS BÉLA, MATEMATIKA I.

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

Python bevezető foglalkozás Python bevezető foglalkozás

Programozás BMEKOKAA146. Dr. Bécsi Tamás 2. előadás

MATEMATIKA TANMENET SZAKKÖZÉPISKOLA 9.A-9.C-9.D OSZTÁLY HETI 4 ÓRA 37 HÉT/ ÖSSZ 148 ÓRA

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

3. Gyakorlat Ismerkedés a Java nyelvvel

Osztályozóvizsga követelményei

2019, Funkcionális programozás. 4. el adás. MÁRTON Gyöngyvér

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

Komplex számok. Wettl Ferenc előadása alapján Wettl Ferenc előadása alapján Komplex számok / 18

Numerikus matematika

SZÁMÍTÓGÉPES ADATFELDOLGOZÁS

Bevezetés az informatikába Tételsor és minta zárthelyi dolgozat 2014/2015 I. félév

PEDAGÓGIAI PROGRAM ÉS HELYI TANTERV MÓDOSÍTÁSA

Mérnöki programozás 8. Szerkesztette: dr. Vass Péter Tamás

1. Feladatlap. Függvények. Mőveletek Matlab nyelvben. Példa inverz osztásra >>d=2\1 d= Információkérési lehetıségek help utasítás

5. KOMBINÁCIÓS HÁLÓZATOK LEÍRÁSÁNAK SZABÁLYAI

2019, Funkcionális programozás. 2. el adás. MÁRTON Gyöngyvér

First Prev Next Last Go Back Full Screen Close Quit. Matematika I

Matematika emelt szint a évfolyam számára

M-Fájlok létrehozása MATLAB-ban

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Matematika 9. nyelvi előkészítő évfolyam. 1 óra/hét (37 óra) Kiselőadások tartása, interjúk készítése (matematikatörténeti

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Grafikus folyamatmonitorizálás

Átírás:

Matematikai programok Mátrixalapú nyelvek MatLab Wettl Ferenc diái alapján Budapesti M szaki Egyetem Algebra Tanszék 2017.11.07 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 1 / 23

Mátrixalapú nyelvek MATLAB R (matrix laboratory The Language of Technical Computing) Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

Mátrixalapú nyelvek MATLAB R (matrix laboratory The Language of Technical Computing) kereskedelmi program Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

Mátrixalapú nyelvek MATLAB R (matrix laboratory The Language of Technical Computing) kereskedelmi program többmillió felhasználó Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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,... Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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: Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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/ Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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) Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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/ Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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: Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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/ Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

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 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 2 / 23

Licensz, Telepítés Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 3 / 23

Számolás valós és komplex számok Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 >> 2^23 ans = 8388608 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 >> 2^23 ans = 8388608 >> 2^ -3 ans = 0. 12500 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 >> 2^23 ans = 8388608 >> 2^ -3 ans = 0. 12500 >> 2^123 ans = 1.0634 e +37 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 >> 2^23 ans = 8388608 >> 2^ -3 ans = 0. 12500 >> 2^123 ans = 1.0634 e +37 >> (1 + 2 i ) / (3-1 i ) ans = 0. 10000 + 0. 70000 i Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás valós és komplex számok >> 1 + 1 ans = 2 >> 2^23 ans = 8388608 >> 2^ -3 ans = 0. 12500 >> 2^123 ans = 1.0634 e +37 >> (1 + 2 i ) / (3-1 i ) ans = 0. 10000 + 0. 70000 i >> (1-1 i )^8 ans = 16 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 4 / 23

Számolás mátrixokkal valós és komplex mátrixok Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 5 / 23

Számolás mátrixokkal valós és komplex mátrixok >> [1 1; 3 3] + [1 2; 2 3]*[ 3 1; 2 1]^ -1 ans = -2.00000 6.00000-1. 00000 10. 00000 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 5 / 23

Számolás mátrixokkal valós és komplex mátrixok >> [1 1; 3 3] + [1 2; 2 3]*[ 3 1; 2 1]^ -1 ans = -2.00000 6.00000-1. 00000 10. 00000 >> [1 1; 3 3] + [1 2; 2 3] * [2 1; 1 1]^ -1 ans = 3.3307 e -16 4.0000 e +00 2.0000 e +00 7.0000 e +00 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 5 / 23

Számolás mátrixokkal valós és komplex mátrixok >> [1 1; 3 3] + [1 2; 2 3]*[ 3 1; 2 1]^ -1 ans = -2.00000 6.00000-1. 00000 10. 00000 >> [1 1; 3 3] + [1 2; 2 3] * [2 1; 1 1]^ -1 ans = 3.3307 e -16 4.0000 e +00 2.0000 e +00 7.0000 e +00 >> [1; 2] ans = 1 2 >> ans ' ans = 1 2 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 5 / 23

>> zeros (2, 3) ans = 0 0 0 0 0 0 >> ones (1, 4) ans = 1 1 1 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 6 / 23

>> zeros (2, 3) ans = 0 0 0 0 0 0 >> ones (1, 4) ans = 1 1 1 1 >> eye (3) ans = Diagonal Matrix 1 0 0 0 1 0 0 0 1 >> diag ([2 3 1]) ans = Diagonal Matrix 2 0 0 0 3 0 0 0 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 6 / 23

Mátrixok osztása és inverze A/B = C jelentése: A = CB Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

Mátrixok osztása és inverze A/B = C jelentése: A = CB A\B = C jelentése: B = AC Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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: Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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 >> [1-3; 4 2] \ [15; 18] ans = 6-3 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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 >> [1-3; 4 2] \ [15; 18] ans = 6-3 >> [1-3; 4 2]^ -1 * [ 15; 18] ans = 6-3 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 7 / 23

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). Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 8 / 23

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 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 8 / 23

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 >> [1 1 2; 2 2 3] \ [4; 8] ans = 2.0000 e +00 2.0000 e +00 7.1054 e -15 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 8 / 23

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 >> [1 1 2; 2 2 3] \ [4; 8] ans = 2.0000 e +00 2.0000 e +00 7.1054 e -15 >> rref ([1 1 2; 2 2 3]) ans = 1 1 0 0 0 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 8 / 23

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ó. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 9 / 23

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. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 9 / 23

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. >> 10 * rand (2, 3) ans = 8. 390913 0. 500552 6. 421794 9. 608188 1. 873848 0. 028212 >> int8 ( ans ) ans = 8 1 6 10 2 0 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 9 / 23

Tartományok (ranges) kezdet:lépésköz:vég Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 10 / 23

Tartományok (ranges) kezdet:lépésköz:vég >> 1:4 ans = 1 2 3 4 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 10 / 23

Tartományok (ranges) kezdet:lépésköz:vég >> 1:4 ans = 1 2 3 4 >> 4:1 ans = [](1 x0 ) Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 10 / 23

Tartományok (ranges) kezdet:lépésköz:vég >> 1:4 ans = 1 2 3 4 >> 4:1 ans = [](1 x0 ) >> 9: -3:1 ans = 9 6 3 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 10 / 23

Tartományok (ranges) kezdet:lépésköz:vég >> 1:4 ans = 1 2 3 4 >> 4:1 ans = [](1 x0 ) >> 9: -3:1 ans = 9 6 3 >> 1.1:.237:2.1 ans = 1. 1000 1. 3370 1. 5740 1. 8110 2. 0480 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 10 / 23

Változók >> a = 3 a = 3 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 11 / 23

Változók >> a = 3 a = 3 >> m = [ 1 2 a 2 a 4] m = 1 2 3 2 3 4 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 11 / 23

Változók >> a = 3 a = 3 >> m = [ 1 2 a 2 a 4] m = 1 2 3 2 3 4 >> m ' * m ans = 5 8 11 8 13 18 11 18 25 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 11 / 23

Indexek >> M M = 8 1 6 10 2 0 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 12 / 23

Indexek >> M M = 8 1 6 10 2 0 >> M (1, 3) ans = 6 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 12 / 23

Indexek >> M M = 8 1 6 10 2 0 >> M (1, 3) ans = 6 >> M (1, [2 3 1]) ans = 1 6 8 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 12 / 23

Indexek >> M M = 8 1 6 10 2 0 >> M (1, 3) ans = 6 >> M (1, [2 3 1]) ans = 1 6 8 >> M (:, [2 3 1]) ans = 1 6 8 2 0 10 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 12 / 23

Programozás 1 Programozás 2 Vektorosítás Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 13 / 23

Függvények Programozás Külön.m fájlba tegyük, azzal a névvel, mint maga a függvény. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 14 / 23

Függvények Programozás Külön.m fájlba tegyük, azzal a névvel, mint maga a függvény. function end 1 + 1 fv1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 14 / 23

Függvények Programozás Külön.m fájlba tegyük, azzal a névvel, mint maga a függvény. function end 1 + 1 fv1 ekkor így hívható: >> fv1 ans = 2 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 14 / 23

Függvények Programozás Külön.m fájlba tegyük, azzal a névvel, mint maga a függvény. function end 1 + 1 fv1 ekkor így hívható: >> fv1 ans = 2 function fv2 ( a, b ) end a ^2 + b ^2 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 14 / 23

Függvények Programozás Külön.m fájlba tegyük, azzal a névvel, mint maga a függvény. function end 1 + 1 fv1 ekkor így hívható: >> fv1 ans = 2 function fv2 ( a, b ) end a ^2 + b ^2 >> fv2 (3, 4) ans = 25 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 14 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m function visszaadott érték = függvénynév (argumentumlista) Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m function visszaadott érték = függvénynév (argumentumlista) matlab utasítások Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m function visszaadott érték = függvénynév (argumentumlista) matlab utasítások end Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m function visszaadott érték = függvénynév (argumentumlista) matlab utasítások end Ha a visszaadott érték nincsen vagy nem áll = jobb oldalán, akkor a visszaadott érték az utoljára kiszámolt érték. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás % muvelet.m function [ amegb, aszorb ] = muvelet (a, b ) amegb = a + b ; aszorb = a * b ; end >> [ c d ] = muvelet (2, 3) c = 5 d = 6 A függvénydeníció általános alakja (a színes rész opcionális): %függvénynév.m function visszaadott érték = függvénynév (argumentumlista) matlab utasítások end Ha a visszaadott érték nincsen vagy nem áll = jobb oldalán, akkor a visszaadott érték az utoljára kiszámolt érték. ; csendes kiértékelés Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 15 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 >> 4 < 1 ans = 0 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 >> 4 < 1 ans = 0 >> 4 == 1 ans = 0 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 >> 4 < 1 ans = 0 >> 4 == 1 ans = 0 >> 4 >= 1 ans = 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 >> 4 < 1 ans = 0 >> 4 == 1 ans = 0 >> 4 >= 1 ans = 1 >> (4 >= 1) == 1 ans = 1 >> whos ans 1 x1 logical Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Programozás Logikai értékek (1 = igaz, 0 = hamis, típusa bool) >> 4 > 1 ans = 1 >> 4 < 1 ans = 0 >> 4 == 1 ans = 0 >> 4 >= 1 ans = 1 >> (4 >= 1) == 1 ans = 1 >> whos ans 1 x1 logical >> a = true a = 1 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 16 / 23

Feltételes utasítás Programozás if (feltétel) Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 17 / 23

Feltételes utasítás Programozás if (feltétel) matlab utasítások Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 17 / 23

Feltételes utasítás Programozás if (feltétel) else matlab utasítások % ez a rész Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 17 / 23

Feltételes utasítás Programozás if (feltétel) matlab utasítások else matlab utasítások % ez a rész % kimaradhat Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 17 / 23

Feltételes utasítás Programozás if (feltétel) matlab utasítások else matlab utasítások end % ez a rész % kimaradhat Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 17 / 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 " end end Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 18 / 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 " end end >> v alosvagykomplex (1, 1, 1) ans = komplex Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 18 / 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 " end end >> v alosvagykomplex (1, 1, 1) ans = komplex >> v alosvagykomplex (1,2,1) ans = valos Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 18 / 23

Vektorosítás 1 Programozás 2 Vektorosítás Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 19 / 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. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 20 / 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. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 20 / 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! Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 20 / 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! >> l = [3 4 6 2 5 1] l = 3 4 6 2 5 1 >> l (2:6) - l (1:5) ans = 1 2-4 3-4 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 20 / 23

Vektorosítás Alkalmazzuk az f (x) = x 2 + 3x + 1 képletet egy mátrixra! function keplet ( a ) a ^2 + 3* a + 1 end >> keplet ( [1 1; 0 2]) ans = 5 7 1 11 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 21 / 23

Vektorosítás Alkalmazzuk az f (x) = x 2 + 3x + 1 képletet egy mátrixra! function keplet ( a ) end a ^2 + 3* a + 1 >> keplet ( [1 1; 0 2]) ans = 5 7 1 11 Alkalmazzuk az f (x) = x 2 + 3x + 1 képletet egy mátrix minden elemére! function keplet ( a ) end a.^ 2 + 3.* a + 1 >> keplet ([1:3 5]) ans = 5 11 19 41 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 21 / 23

Kérdések Vektorosítás Mire és hogyan használhatók az eye, ones, zeros és diag parancsok? Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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! Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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? Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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 adja vissza! + 1 x 2 x 3 értéket Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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 adja vissza! + 1 x 2 x 3 Í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! értéket Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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 adja vissza! + 1 x 2 x 3 Í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! értéket Mi az eredménye a 1 == (2 > 4) és a 0 == (2 > 4) m veletnek? Ezeknek mi az adattípusa? Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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 adja vissza! + 1 x 2 x 3 Í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! értéket 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! Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás 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 adja vissza! + 1 x 2 x 3 Í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! értéket 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! Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 22 / 23

Kérdések Vektorosítás Képezzünk egy 10 10-es mátrixot, melynek blokkmátrix alakja: ] [ O5 I 5 I 5 O 5 Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 23 / 23

Kérdések Vektorosítás Képezzünk egy 10 10-es mátrixot, melynek blokkmátrix alakja: ] [ O5 I 5 I 5 O 5 Oldjuk meg az x 2y = 1 2x + y = 7 egyenletrendszert mátrixosztással, és az inverzzel való szorzással. Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 23 / 23

Kérdések Vektorosítás Képezzünk egy 10 10-es mátrixot, melynek blokkmátrix alakja: ] Oldjuk meg az [ O5 I 5 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! Borbély Gábor (BME Algebra Tanszék) Matematikai programok 2017.11.07 23 / 23