Bevezetés a MATLAB programba



Hasonló dokumentumok
M-Fájlok létrehozása MATLAB-ban

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

MATLAB. 5. gyakorlat. Polinomok, deriválás, integrálás

MATLAB alapismeretek I.

Függvények ábrázolása

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

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

Maple: Deriváltak és a függvény nevezetes pontjai

MATLAB. 6. gyakorlat. Integrálás folytatás, gyakorlás

Maple: Bevezetés. A Maple alapjai

Mathematica automatikusan dolgozik nagy pontossággal, például 3 a 100-dik hatványon egy szám 48 tizedes jeggyel:

Közönséges differenciálegyenletek megoldása Mapleben

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

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

Közönséges differenciál egyenletek megoldása numerikus módszerekkel: egylépéses numerikus eljárások

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

Numerikus matematika

MATLAB alapismeretek II.

SCILAB programcsomag segítségével

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

Széchenyi István Egyetem. Műszaki számítások. Matlab 4. előadás. Elemi függvények és saját függvények. Dr. Szörényi Miklós, Dr.

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

Soros felépítésű folytonos PID szabályozó

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

Matlab alapok. Baran Ágnes. Grafika. Baran Ágnes Matlab alapok Grafika 1 / 21

Egyenletek, egyenlőtlenségek grafikus megoldása TK. II. kötet 25. old. 3. feladat

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.

Jelek és rendszerek Gyakorlat_02. A gyakorlat célja megismerkedni a MATLAB Simulink mőködésével, filozófiájával.

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

MATLAB OKTATÁS 1. ELŐADÁS ALAPOK. Dr. Bécsi Tamás Hegedüs Ferenc

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.

KOVÁCS BÉLA, MATEMATIKA I.

Alapok: Használd számológép helyett

1. Alapok. #!/bin/bash

Függvények Megoldások

Numerikus matematika

Matematika 10 Másodfokú egyenletek. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

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

Szögfüggvények értékei megoldás

MATLAB/OCTAVE/ ALAPOZÓ 1

I. Egyenlet fogalma, algebrai megoldása

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Komputeralgebrai Algoritmusok

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

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

Kalkulus. Komplex számok

Bevezetés a MATLAB használatába

6. Függvények. 1. Az alábbi függvények közül melyik szigorúan monoton növekvő a 0;1 intervallumban?

Matematikai programok

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

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

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

A PiFast program használata. Nagy Lajos

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

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

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

Polinomok, Lagrange interpoláció

Dr`avni izpitni center MATEMATIKA

2018/2019. Matematika 10.K

MÁTRIXFÜGGVÉNYEK, SAJÁT FÜGGVÉNYEK, GRAFIKA

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

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

Hatványozás. A hatványozás azonosságai

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

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Követelmények, Matlab alapok 1.

Hozzárendelés, lineáris függvény

1. Interpoláció. Egyértelműség Ha f és g ilyen polinomok, akkor n helyen megegyeznek, így a polinomok azonossági tétele miatt egyenlők.

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

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

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

2012. október 2 és 4. Dr. Vincze Szilvia

Komputeralgebra Rendszerek

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

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit

egyenlőtlenségnek kell teljesülnie.

Matematika 11. osztály

Bevezetés a MATLAB programba Gerardo Rodriguez Universidad de Salamanca

ALGEBRAI KIFEJEZÉSEK, EGYENLETEK

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

Numerikus Matematika

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Elérhető maximális pontszám: 70+30=100 pont

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

4. Fejezet : Az egész számok (integer) ábrázolása

Grafikus felhasználói felület (GUI) létrehozása A GUI jelentése Egy egyszerű GUI mintaalkalmazás létrehozása

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

Matematikai programok

First Prev Next Last Go Back Full Screen Close Quit. Komplex számok (2)

A matematikai feladatok és megoldások konvenciói

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

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Megoldások. alapfüggvény (ábrán: fekete)

Komplex számok trigonometrikus alakja

Mérési adatok illesztése, korreláció, regresszió

Abszolútértékes és gyökös kifejezések Megoldások

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

4. gyakorlat: interpolációs és approximációs görbék implementációja

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

Átírás:

Bevezetés a MATLAB programba 1. Mi az a MATLAB? A MATLAB egy olyan matematikai programcsomag, amely mátrix átalakításokat használ a komplex numerikus számítások elvégzésére. A Mathematica és Maple programokkal ellentétben ez nem egy számítógépes algebrai rendszer, vagyis nem képes szimbólumokkal formálisan dolgozni, de ez is megoldható ha a Symbolic Math eszköztárat külön telepítjük a Mathworksból. 2. Néhány alapvető parancs 2.1 A demos parancs A MATLAB programcsomagba be van építve egy terjedelmes help csomag melyet úgy érhetünk el, hogy a parancsablakba a demos parancsot begépeljük és megnyomjuk a [ gombot. Kis várakozás után megjelenik a help ablak, mely tartalmazza a következő opciókat: 'Contents', 'Index', 'Search', 'Demos' és 'Favorite'. Ha ismerjük a kívánt parancs nevét, könnyen kaphatunk segítséget róla, ha beírjuk a help szót és ezután a keresett parancs nevét, például help sin SIN Sine. SIN(X) is the sine of the elements of X. A MATLAB a parancsok neveit mindig nagybetűvel írja ki, még akkor is ha mi kisbetűvel gépeltük be. Ez azért van mert a parancs ablak rögtön felismeri a help ablakban megjelent parancsokat és ha kell rögtön végre is

hajtja azokat. A példából is látható, elements of X, hogy a MATLAB a műveleteket vektorokon végzi. 2.2 Értékek hozzárendelése A MATLAB egy numerikus számolási csomag,amely a számoláshoz minden változó pillanatnyi értékét előre kell ismerje. A MATLAB számára például az y = 2x kifejezés értelmetlen, hacsak nem ismeri mit jelent jelenleg az x változó. Rögtön a MATLAB program megnyitásakor a parancs ablak jelenik meg. Ha begépeljük az y=2*x parancsot és utána a [ gombot, hibaüzenetet kapunk??? Undefined function or variable 'x'. Ahhoz, hogy a számolást eltudja végezni ismerni-e kell az x jelenlegi értékét, először ezt be kell írjuk a parancs ablakba x=2 majd megnyomjuk a [ billentyűt. Az ablakban meg fog jelenni a válasz, hogy x-hez hozzárendelte a 2 értéket. Ezután már beírhatjuk, hogy y=2*x A MATLAB visszajelzi, hogy y-hoz hozzárendelte a 4-es értéket. Ha ezután x-nek egy új értéket adunk, például x=3 Akkor a MATLAB x-et már 3-nak fogja tekinteni. Ha begépeljük, a parancsablakba, hogy y A MATLAB továbbra is azt írja majd ki, hogy y=4. Azonban, ha az y=2*x

parancsot gépeljük be, akkor az y új értéket kap. Vagyis a MATLAB nem rendel hozzá új értéket, csak ha erre parancsot kap. Hatványok számításához a MATLAB a ^ jelet használja. Ahhoz hogy 3 kiszámítsuk az y = x kifejezést, a parancsablakba a következő parancsot kell beírjuk: y=x^3 A kapott eredmény y=27 lesz, hiszen x utolsó értéke 3 volt. Ha gyökvonást szeretnénk számolni, a gyökvonást át kell írnunk hatvánnyá a következő ismert szabály alapján: 1 n a n a =. Példa: Írjuk be, hogy a következő két parancsot a=27 y=a^1/3 A válasz y = 9, ami ugye helytelen. A MATLAB az y=a^1/3 parancsot úgy értelmezte, hogy 1 a y =. 3 A helyes parancshoz a hatványt zárójelbe kell tegyük: y=a^(1/3) Most már a helyes választ kapjuk, y=3. A transzcendentális π szám a MATLAB-ban pi-ként jelenik meg. Ha a parancsablakba beírjuk a pi parancsot akkor a MATLAB az eredményt négy tizedessel adja meg pi=3.1416. Ha a pi-t több tizedesnyi pontossággal szeretnénk megkapni a

format long pi parancsot kell használjuk és akkor az eredmény 14 tizedesnyi pontossággal jelenik meg: 3.14159265358979. Ha beírjuk a format short parancsot az eredmény újra rövid alakú lesz. Ha az e szám értékét szeretnénk megkapni és beírjuk a parancsablakba e akkor a MATLAB hibaüzenetet küld??? Undefined function or variable 'e' mivel a MATLAB csak az exp függvényt használja exponenciális kifejezésekhez. Először egy értéket kell hozzárendeljünk az e-hez e=exp(1) vagyis e =2.7183 1 e, és így megkapjuk a helyes választ ami 2.3 Mátrixok definiálása Egy 3 3 -as mátrix megjelenítéséhez, például 1 2 3 A = 4 5 6 7 8 9 a parancsablakba a következőt kell beírnunk: A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ]

Minden elem között szünet jel van,minden sorvéget pedig a ; jelöl vagyis a ; hatására a MATLAB új sort kezd. Jelöléseknél figyeljünk arra, hogy a MATLAB különbséget tesz a kis és nagybetűk között. Ha kifelejtjük a parancsból például a ;-t A=[ 1 2 3 ; 4 5 6 7 8 9 ] akkor a MATLAB hibaüzenetet küld??? Error using ==> vertcat CAT arguments dimensions are not consistent. A hibaüzenetben nem jelenik meg mindig, hogy pontosan hol van a hiba. A mi egyszerű példánkban nyilvánvaló hogy kimaradt a ; a 6 és a 7 között, vagyis egy olyan mátrixot próbáltunk generálni amely az első sorában három elemet tartalmaz a második sorában pedig hat elemet, ez pedig nem lehetséges. Ha hibát ejtettünk nem kell újra begépeljük az egész parancsot, a gombbal kikeressük azt a régi parancsok között kijavítjuk és megnyomjuk az Enter gombot. Az Enter gomb megnyomásához a parancsban bárhol állhatunk nemcsak a parancs végén. Ha nem szükséges, hogy a parancs eredménye megjelenjen a képernyőn, akkor a parancs végére ; kerül A=[ 1 2 3 ; 4 5 6 ; 7 8 9 ] ;

2.4 Mátrixműveletek A mátrixok összeadásához és kivonásához a megszokott + és jeleket használjuk, legyen a már definiált A mátrix és számítsuk ki A+A-t és A-A-t A+A 2 4 6 8 10 12 14 16 18 A-A 0 0 0 0 0 0 0 0 0 Mint látható, a mátrix definiálásánál szögletes zárójeleket használunk, de az eredményben a MATLAB ezt nem jeleníti meg. 2.5 Polinomok megjelenítése Míg egy számítógépes algebrai rendszer egy polinomot képes explicit 2 alakban megadni x 3x + 2, addig a MATLAB a polinom együtthatóit egy vektorban tárolja. Az előbbi példában a vektor (1-3 2) alakú lesz. Ha a polinom gyökeit szeretnénk megkapni a root függvényt használjuk, például p=[1-3 2]; roots(p) ans = 2 1 A polinom gyökeit úgy is kiszámíthatjuk, hogy a polinom együtthatóit közvetlenül a root függvényben adjuk meg:

roots([1-3 2]) ans = 2 1 Egy gyakori hiba, hogy a parancsból kimaradnak a [ ] zárójelek, ebben az esetben a MATLAB hibaüzenetet küld roots(1-3 2)??? roots(1-3 2) Error: ")" expected, "numeric value" found. A fordított művelet is lehetséges, ha ismerjük a polinom gyökeit, akkor a MATLAB fel tudja írni az eredeti polinomot a poly függvény segítségével poly([-2 2]) ans = 1 0-4 Az eredmény második tagja 0, ami azt jelenti, hogy hiányzik az x-et tartalmazó tag, vagyis a polinom amelynek 2 és -2 gyöke, az x 2 4. 2.6 Ábrák rajzolása A MATLAB az ábrák megrajzolásához a koordinátákat vektorokban tárolja. Lássuk például a program hogyan ábrázolja a következő x és y vektor, amely úgy néz ki, hogy x=[1 2 3 4 5]; y=[2 4 6 8 10]; plot(x,y)

Az x-tengelyen ábrázolt tartomány megegyezik az x vektorral, és ugyanígy az y-tengelyen ábrázolt tartomány megegyezik az y vektorral. A MATLAB a grafikus képeket kékkel ábrázolja, hacsak nem adunk meg más színkódot. Ha nem akarjuk megjeleníteni az egész görbét, csak a koordináták által meghatározott pontokat, akkor a következő parancsot kell használjuk plot(x,y,'x')

A MATLAB minden (1, 2), (2, 4), (3, 6), (4, 8), (5, 10) párost egy kék x -el jelölt az ábrán. Ugyanezt az ábrát kapjuk, ha az y=2x függvényt ábrázoljuk, ha 1 x 5. Az ehhez szükséges parancsok x=[1 2 3 4 5]; y=2*x; plot(x,y,'x') Ezzel a példával bemutattuk, hogyan lehet egyváltozós függvényeket ábrázolni a MATLAB programmal. Először egy vektort definiálunk a bemenő adatoknak, majd kiszámoljuk a hozzájuk tartozó kimeneti adatsort egy általunk definiált vagy egy a MATLAB-ba beépített függvény

segítségével. Aztán hozzárendeljük őket egy változóhoz, például y vagy output. Végül a plot parancs segítségével megrajzoljuk a grafikont. Például: plot y=sin(x), -2π x 2π. x=[-2*pi -pi 0 pi 2*pi]; y=sin(x); plot(x,y) Ez nem az, amit akartunk! Öt pont láthatóan nem elég egy szinusz görbe kirajzolásához. Ráadásul tudjuk, hogy mindegyik definiált pontban a szinusz

zérus értéket kell hogy felvegyen, de a MATLAB végespontossággal dolgozik és ráillő görbével próbál közelíteni, ennek eredményeképpen ±10-16 körüli értékeket ad a grafikonon. Hogy sikeresen megrajzoltassuk a szinusz görbét sokkal több pontra van szükségünk. Íme két lehetőség egy használható x vektor képzésére. x=-2*pi:0.1:2*pi; vektor egy -2*pi értékkel kezdődő aztán 0.1-es lépésenként újabb pontokat kijelölő majd 2π értékkel bezárólagos pontsort ad, folyamatosan, 0.1-es lépésekkel növekvő pontokból. Ennek a vektornak így 126 eleme lesz. Hajtsuk végre a rajzoló procedúrát ezen vektor használatával: y=sin(x); plot(x,y);

Vegyük észre, hogy a MATLAB kibővíti a rajz ablak koordinátatengelyeit a legközelebbi páros egész számig, jelen esetben -8 és 8 a végpont. Hogy ezt elkerüljük, írjuk be: axis tight így a kirajzolt ábra a következő alakú lesz:

A grafikon most teljesen kerettől-keretig lett kirajzolva. Ha nem a lépésközt akarjuk például 0.1-es fix lépésenként változtatni, hanem mondjuk egy intervallumot akarunk adott egyenlő részre felosztani, akkor használhatjuk a 'linspace' parancsot az x-vektor adott elemű egyenlő részre osztására, a következő képpen: x=linspace(-2*pi,2*pi,500); Ezzel az eljárással egy 500 elemű vektort definiáltunk x-re, mely a -2π értékkel kezdődően folymatosan növekvő értékeket tartalmaz egészen a 2π értékig, e pontok között 498 csomóponttal, melyek által határolt szakaszok hossza egyenlő egymással. Aztán írjuk be y=sin(x); plot(x,y) erdeményül pedig egy az előzővel hasonló szinusz görbét kapunk, mely immár 500 pontpárból épül az előző 126 pontpár helyett.