1. Előadás Matlab lényeges vonásai,



Hasonló dokumentumok
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

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 alapozó % % , Földváry Lóránt % Laky Piroska (kiegészítés)

Internet programozása. 3. előadás

Bevezetés a C++ programozásba

Példa: Aktuális könyvtár tartalmának fájlba mentése, melynek neve az aktuális dátum és idő: ls l > `date+%f_%h-%m`.txt

Utasítások. Excel VII. Visual Basic programozás alapok. A Visual Basic-kel megoldható feladatok típusai Objektumok, változók Alprogramok

3. Gyakorlat Ismerkedés a Java nyelvvel

Elôszó a magyar kiadáshoz A Kiadó Elôszó

A számok kiíratásának formátuma

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

0.1. Mi az a standard be- és kimenet? A két mintafeladat leírása

Ismerkedés a Matlabbal

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

MATLAB alapismeretek II.

Algoritmusok Tervezése. 4. Előadás Visual Basic 1. Dr. Bécsi Tamás

Programozás alapjai óra. Morvai Flórián, 2010 Dr. Dévényi Károly előadásvázlata alapján

S z á m í t ó g é p e s a l a p i s m e r e t e k

8. Laboratóriumi gyakorlat: Bevezetés a reguláris kifejezések használatába

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

1. fejezet Microsoft Excel 2010 Tartománynevek... 3

Operációs rendszerek 2 3. alkalom - Reguláris kifejezések, grep, sed. Windisch Gergely windisch.gergely@nik.uni-obuda.hu

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

C# gyorstalpaló. Készítette: Major Péter

PASzSz. Dr. Kotsis Domokos

Programozás II. Fájlkezelés

A héj vezérlő szerkezetei I.

C programnyelv 1. Kedves Kollegina, Kolléga!

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

B I T M A N B I v: T M A N

Megoldott feladatok. Informatika

BASH SCRIPT SHELL JEGYZETEK

Feladat Nézzük meg a súgóban (help és doc) a sin parancs használatáról olvasható információt! Próbáljuk ki a kirajzoltató utasítást.

Kijelző...P.27 Kezdeti Lépések Statisztikai Számítások Kifejezések és Értéket Bevitele Haladó Tidp,ányos Számítások Beviteli Tartományok...P.

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Algoritmizálás. Horváth Gyula Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

Java II. I A Java programozási nyelv alapelemei

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

Baran Ágnes. Gyakorlat Függvények, Matlab alapok

Alap számológép alkalmazás

Matematikai alapok. Dr. Iványi Péter

Programozás 3. Dr. Iványi Péter

file./script.sh > Bourne-Again shell script text executable << tartalmat néz >>

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

6. A Pascal nyelv utasításai

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Operációs Rendszerek példatár. Utolsó frissítés: február 10.

A sed folyamszerkesztő

NEMNUMERIKUS TÍPUSOK, MÁTRIXOK

Közúti forgalommodellezési gyakorlatok

C# nyelv alapjai. Krizsán Zoltán 1. Objektumorientált programozás C# alapokon tananyag. Általános Informatikai Tanszék Miskolci Egyetem

Információs Technológia

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

Szkriptnyelvek. 1. UNIX shell

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

Operációs Rendszerek II. labor. 2. alkalom

Powershell 1. gyakorlat

Algoritmizálás + kódolás C++ nyelven és Pascalban

9 10. előadás. Az Excel függvényei. Dr. Kallós Gábor

Bevezetés a C programozási nyelvbe. Az Általános Informatikai Tanszék C nyelvi kódolási szabványa

Informatika terméktervezőknek

1. mérés - LabView 1

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

AWK programozás, minták, vezérlési szerkezetek

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

Dokumentáció az 1. feladatsorhoz (egyszerű, rövidített kivitelben)

A PROGRAMOZÁS ALAPJAI 3. Készítette: Vénné Meskó Katalin

Országzászlók (2015. május 27., Sz14)

Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

AWK programozás, minták, vezérlési szerkezetek

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Lekérdezések az SQL SELECT utasítással

INFORMATIKAI ALAPISMERETEK

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

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

117. AA Megoldó Alfréd AA 117.

Bevezetés a MATLAB programba

3. Gyakorlat ellenőrzés nélküli osztályozás

Matematikai programok

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

Matematikai programok

Az OpenOffice.org Calc használata

MATLAB alapismeretek I.

M4 TÁBLÁZATKEZELÉS ALAPJAI

Novell GroupWise levelező rendszer alapok Kiadványunk célja, hogy a Nemzeti Közszolgálati Egyetemen használt Novell GroupWise (a továbbiakban GW)

Kifejezések. Kozsik Tamás. December 11, 2016

>> x1 = linspace( ); plot(x1,sin(x1),'linewidth',1,'color',[1 0 0]);

AZ INFORMATIKA OKTATÁSÁNAK MÚLTJA ÉS JELENE A KOLOZSVÁRI EGYETEMEN

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

hatására hátra lép x egységgel a toll

Sztringkezelő függvények. A string típusú változók kezelése, használata és szerepük a feldolgozás során

LEGO robotok. XII. rész

PYTHON. Avagy hosszú az út a BioPythonig

Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás

Digitális technika VIMIAA01

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

Átírás:

1. Előadás Matlab lényeges vonásai, adattípusok. Salamon Júlia Előadás I. éves mérnök hallgatók számára

A Matlabról A MATLAB (MATrix LABoratory = mátrix laboratórium) egy interaktív, tudományos és műszaki számítások elvégzésére kifejlesztett, mátrixalapú, magas színtű programozási nyelv. A gyártó cég a The Math Works Inc a programdokumentáció mindegyikén így definiálja a programot: A MATLAB néhány jellemzője: több mint 600 matematikai, tudományos és mérnöki függvényt tartalmaz, matematikai analízisre, numerikus módszerekre és algoritmusok fejlesztésére a MATLAB programozási nyelvén könnyű különböző elemzéseket, modellezéseket és szimulációkat iók létrehozni ésmegjeleníteni, de akár önálló alkalmazásokat l k is meg lehet benne megvalósítani beépített ábrázoló rutinjaival egyszerűvé teszi a 2D és 3D ábrák létrehozását és szerkesztését vektorok, mátrixok, többdimenziós tömbök, objektumok és felhasználó által létrehozható adatstruktúrák segítik az adatfeldolgozást be- és kimeneti fájlszűrői segítségével képes írni és olvasni az elterjedtebb fájlformátumokat, köztük az ASCII-t és az EXCEL-t is. más alkalmazásokkal C, C++, Fortran, Java, ActiveX, vagy DDE felületen keresztül képes kapcsolatot létrehozni programozói felülete hatékony szerkesztési és hibakeresési felületet nyújt 2010.09.21. I. előadás 2

2010.09.21. I. előadás 3

Előadások tematikája 1) Matlab lényeges vonásai, adattípusok; 2) Numerikus lineáris algebra; 3) Logikai operátorok és függvények, logikai kifejezések, feltétel vizsgálata, elágazások; 4) Ismétlő struktúrák a Matlabban (for, while utasítások); 5) Matlab függvények, adatfeldolgozás, állományok kezelése; 6) Matlab grafikus lehetőségei, 2D, 3D-s grafikák - plot utasítás; - különböző koordináta rendszerek használata. 7) Grafikus felhasználói felületek, eseményvezérelt programozás. 2010.09.21. I. előadás 4

Laborok tematikája 1) Beolvasás, kiíratás a képernyőre. Változók bevezetése, műveletek változókkal. 2) Karakterláncokkal kk lvaló műveletek; ű 3) Műveletek vektorokkal; 4) Műveletek mátrixokkal; 5) Feltételes utasítások, if, case struktúrák; 6) Ismétlő struktúrák, for utasítás, véletlen számok generálása; 7) Ismétlő struktúrák, while utasítás; 8) Első zárthelyi dolgozat; 9) Matlab függvények; 10) Adatfeldolgozás, állományok kezelése; 11) Matlab grafikus lehetőségei, 2D grafikák; 12) Matlab grafikus lehetőségei, ő 3D grafikák; 13) Grafikus felhasználói felületek, eseményvezérelt programozás. Guide program ismertetése; 14) Második zárthelyi dolgozat. 2010.09.21. I. előadás 5

Könyvészet www.emte.siculorum.ro/~salamonjulia M. Ghinea, V. Fireteanu, Matlab Calcul numeric. Grafica. Aplicatii, ii Teora Könyvkiadó, Bucuresti, 2003. Stoyan Gisbert, Matlab, Typotex Könyvkiadó, Budapest, 2005. Imre-Lucaci Árpád, Cormoş Ana-Maria Maria, Matlab exemple şi aplicaţii în ingineria chimică, Presa Univ. Clujeană, Cluj Napoca, 2008. Brian D. Hahn, Daniel T. Valentine, Essential Matlab for engineers and scientists, Elsevier Könyvkiadó, Oxford, 2007. Radu Tiberiu Trimbitas, Analiză numerică. O introducere bazată pe MATLAB, Presa Universitară i ă Clujeană, ă 2005 Benyo Z., Palácz B., Szilágyi L., Insight into computer science with Maple, Scientia Könyvkiadó, Kolzsvár, 2005. http://www.mathworks.com/support/books/ 2010.09.21. I. előadás 6

Információkérési lehetőségek A Matlabról szóló leírások témák szerinti csoportosításban, különböző alkönyvtárakban vannak tárolva text illetve hipertext (HTML fájl) formában. Segítségkérés három szintje Az egyszerű help és a lookfor utasítás help - leírásokat tartalmazó alkönyvtárak listáját írja ki help alkönyvtár a megadott alkönyvtárban található utasítások listáját írja ki help utasítás az utasítás konkrét jelentését adja meg lookfor kulcsszó az általunk megadott szövegrészletet keres a kulcsszavak leírásának első sorában. A helpwin parancs hatására külön ablakban megjelenik az alkönyvtárak k listája. Az egérrel kattintva közvetlenül l bonthatjuk ki az információkat, újabb ablakok nyílnak amelyekben előre hátra lapozhatunk. A helpdesk parancs egyenértékű ahelp /Full Family Help almenüpont kattintásával. 2010.09.21. I. előadás 7

Tájékoztató parancsok hostid Matlab-server azonosító számát adja meg ver - Matlab verzió számát tudjuk meg what - felsorolja az M-fájlokat az aktuális könyvtárban which valami - megadja, hogy a valami beépített függvény-e, változó-e, létezik-ee egyáltalán who - felsorolja a létező változókat who a* - felsorolja az a-val kezdődő változókat whos - a létező változókról kapunk részletes információkat cd könyvtárnév - a megadott könyvtárba lép pwd - az aktuális munkakönyvtár nevét adja meg dir, ls - aktuális könyvtár tartalmát listázza path - az aktuális útvonalakat írja ki type fájlnév - a megadott állomány tartalmát írja ki lasterr - az utolsó hibaüzenetet adja meg! utasítás - az operációs rendszer megadott utasítását hajtja végre 2010.09.21. I. előadás 8

Parancs ablak utasításai clc - törli a parancs ablakot home - a kurzort az első sor első karakterére állítja format opoció - az adatok kiírásának formátumát adja meg A Matlab 4 tizedes pontossággal írja ki az értékeket (alapbeállítás), ezt a format short -nak felel meg Ha az opció: long - a számok 14 számjegy pontossággal íródnak ki short e -a számokat t4 tizedes pontossággal e-s alakban lkb írja íj ki long e - a számokat 14 tizedes pontossággal e-s alakban írja ki + -csak a szám előjelét írja ki bank - a számokat 2 tizedes pontossággal írja ki rat - a számokat tört formába írja ki echo - segítségével a programok szövegét írathatjuk ki a parancssorba 2010.09.21. I. előadás 9

Változók neve lefoglalt szavak A változók neveit betűkből vagy számjegyekből állíthatjuk össze, amelyből azelső jel betű kell, hogy legyen. Különbség van a nagy és kisbetűk között. Bizonyos betűkombinációkat tanácsos kihagyni. Az alábbi kulcsszavakhoz nem tudunk értéket hozzárendelni break, case, colon, continue, else, elseif, end, for, if, otherwise, switch, while Matlab utasításokban gyakran előforduló szavak clear, help, helpdesk, helpwin, lookfor, ver, who, load stb. Standard változók amelynek a Matlab ad értéket ans - név nélküli eredmény neve clock - pillanatnyi időt adjameg cputime - Matlab indítása óta eltelt idő i, j - komplex számok képzetes egysége Inf végtelen, nullával való osztás eredménye NaN - not a number, nem szám, mint 0/0 pi - az egység kör területe realmax - 2,2251e-308 a legnagyobb lebegőpontos szám értéke realmin - 1,7977e+308 legkisebb pozitív lebegőpontos szám értéke tic - 0-ra állítja a kezdőértéket a toc számára toc - a legutolsó tic utasítás óta eltelt időt adja meg másodpercekben clear minden változót töröl, a lefoglalt változók numerikus értékét visszaállítja 2010.09.21. I. előadás 10

Numerikus változók A változók deklarálása érték adással történik. A Matlab a megadott érték alapján dönti el, hogy milyen típusú adatot tárolunk majd benne. változó = kifejezés Példa. >> a=11 a = 11 Létrejön az a változó, mint egy 1x1-es 1 mátrix, értéke 11. Számok használata Pl. 3 99 0.0001 9.6397238 1.60210e 20 6.02252e23 2+3i 1.23+23.56i 2010.09.21. I. előadás 11

Műveletek Aritmetikai operátorok: + (összeadás), - (kivonás), * (szorzás), / (osztás), ^ (hatványozás), \ (inverz osztás). Pl. Számítsuk ki egy gömb térfogatát R=2; Terfogat=(4/3)*pi*R^3 Példa inverz osztásra >>d=2\1 d= 0.5000 A kifejezések kiértékeléséhez a Matlab bevezeti a precedencia szabályt. >>a/b^2 Ez azt jelenti, hogy az egyes műveletek rangsorolva vannak, és a kiszámítás csökkenő rang szerint történik: azazelőször a legmagasabb percedenciájú műveletek, majd az eggyel alacsonyabb rangú, es így tovább hajtódnak végre. Az operátorok precedencia sorrendje: 1. ^ 2. +, - (előjel) 3. *,.*, /,./,/ \ 4. +, - (összeadás, kivonás) 5. : (colon) Azonos precedenciájú műveleteket balról jobbra haladva végezzük. Sok esetben szükség van a precedencia- vagy a balról-jobbra sorrend megváltoztatására, akkor ezt a kerek zárójelek segítségével érhetjük el. >> (a+b+c)/3 2010.09.21. I. előadás 12

Karakterláncok tárolása A karakterlánckt típusú változó dkl deklarálása éték értékadással történik, aposztrófok közé téve a szöveget. >>s= 'almafa' A karakter tényleges tárolása, a Matlab az ASCII kódjukat tárolja, kísérő információval. Az utóbbi utal arra, hogy itt nem egy közönséges egész számról van szó, hanem karakterről. k 2010.09.21. I. előadás 13

Ascii táblázat 2010.09.21. I. előadás 14

A változóban akkor is egy numerikus adat van tárolva, ha karakterlánc változó. >> x=20, s='20' x= 20 s= 20 Az utasításokra adott válasz között látszólag nincs különbség. >> x=x+2, s=s+2 x= 22 s= 52 50 A 2-es számot numerikus adatként adja a karaktereket tartalmazó vektorhoz, azaz a ott tárolt ASCII kódokhoz. Ilyenkor az eredmény numerikus adat lesz. Tehát fontos tudni egy változóról, hogy milyen tulajdonságú. 2010.09.21. I. előadás 15

Függvények karakterláncokkal length(sz) double(sz) char(kod) deblank(sz) Karakterlánc hosszát adja meg Karakterek Ascii kódjait téríti vissza Ascii kódokhoz hozzárendelt karaktereket jeleníti meg a karakterlánc végén található szóközeket levágja ischar(sz) 1 ha argumentuma string 0 különben isletter(sz) karakterenként vizsgálja a karakterláncot és egy vektor megfelelő indexű elemét 1-re vagy 0-ra állítja, attól függően, hogy a szóban forgó karakter betű-e vagy sem isspace(sz) karakterenként vizsgálja a karakterláncot és egy vektor megfelelő indexű elemét 1-re vagy 0-ra állítja, attól függően, hogy a szóban forgó karakter szóköz-e vagy sem int2str(x) num2str(x) egész számot szöveggé alakít valós számot 4 tizedes pontossággal szöveggé alakít mat2str(x) valós számot szöveggé alakít str2num(sz) szöveget számmá alakít 2010.09.21. I. előadás 16

Függvények karakterláncokkal strcat(sz1,sz2) strvcat(sz1,sz2) sz2) strcmp(sz1,sz2) vízszintesen kapcsolja össze argumentumait, összekapcsolandó karakterláncok végén található szóközeket elhagyja. függőlegesen kapcsolja össze az argumentumait összehasonlítja a paraméterként beírt karakterláncokat 1 ad vissza ha a kettő tökéletesen megegyezik strncmp(sz1,sz2,n) csak az első ő n karaktertkt t hasonlítja össze findstr(sz1,sz2) a két karakterlánc közül a rövidebbet keresi a másikban, valahányszor megtalálja, a kezdőpozíciót kiírja a kimenő sorvektorba strrep(sz1,sz2,sz3) az első paraméterében megkeresi a másodikként megadott karakterláncot, és valahányszor megtalálja, kicseréli a harmadik ad paraméterre a e strtok(sz1,sz2) upper(sz) lower(sz) az első paraméterét kettévágja ott, ahol a második paraméterét először megtalálta nagybetűkké alakít kisbetűkké alakít 2010.09.21. I. előadás 17

Algoritmusok Algoritmusnak nevezzük valamely feladat megoldására szolgáló lépések véges számú sorozatát. Lépésnek egy-egy egyértelműen megfogalmazott szabály alkalmazását tekintjük. Milyen ismérvekkel kell rendelkeznie minden algoritmusnak? Végesség, Meghatározottság, Kimenet, Bemenet, Hatékonyság. A számítógép működése közben a programozó által meghatározott alkalmas és érthető módon leírt (a számítógép gpszámára érthető módon leírt) algoritmusokat hajt végre. 2010.09.21. I. előadás 18

2010.09.21. I. előadás 19

Pascal program program tombok; uses Crt; Var t:array[1..20] of integer; i,n:integer; begin ClrScr; Write( Kérem a tömb elemeinek a számát = ); Readln(n); for i:=1 to n do begin write('tömb[',i,']='); readln(t[i]); end; for i:=1 to n do write(t[i]:4); Readln; end. Matlab program t=input('tomb=') 2010.09.21. I. előadás 20

Matlab programozás Matlabban létrehozhatunk *.m állományokat, ezeknek 2 típusa van: Scriptek parancssorozat Függvények saját függvény létrehozása. Scriptek használata File/New/M-file parancs hatására megjelenik egy szövegszerkesztő, ahol megírhatjuk a parancssort (utasítássort), lementhetjük (F5) majd parancsablakban a lementett ttnévvel lhivatkozva lefuttathatóak th tó a bít beírt parancsok. A % jel után megjegyzések írhatók, ezeket a megjegyzéseket gy a Matlab a program végrehajtása során, figyelmen kívül hagyja. 2010.09.21. I. előadás 21

Adatátvitel képernyőre Beolvasás Input utasítás x=input(kar) a kar karakterlánc kiíródik a képernyőre, és a gép várja az x beadását a billentyűzetről. kar1=input(kar, s ) - a kar karakterlánc kiíródik a képernyőre, és a gép várja az kar1 karaktersorozat beadását a billentyűzetről. Kiiratás Legegyszerűbb módja, ha a változókat felsoroljuk, vagy az utasítás végén lehagyjuk a pontosvesszőt. >>a, b Disp utasítás Disp(a) az a argumentum kiíródik a képernyője 2010.09.21. I. előadás 22

Hibaüzenetek Az állománynak proba 23.m nevet adtunk. (állománynévben nem szerepelhet szóköz) Az állománynak 23.m nevet adtunk. (állománynévben nem kezdődhet számjeggyel) Karakterlánc beolvasásánál az input utasításban elmaradt a s argument Elíródott az input parancsszó. Jelzi, hogy nem ismerte fel a parancsot és hogy hányadik sorban található a hiba. 2010.09.21. I. előadás 23

, helyett. tettünk Elhagytunk egy ( helyett [ tettünk Ha rosszul adtuk meg a függvény argumentumait. Jelzi melyik utasításnál van a hiba, hányadik sorban. 2010.09.21. I. előadás 24