Download as pdf or txt
Download as pdf or txt
You are on page 1of 9

Bevezetés a MATLAB - ba

bevezetés a matlab - ba 2

1. MATLAB (MATrix LABoratory)


The MathWorks, Inc.

Alkalmas :
numerikus analı́zis,
mátrixalgebra,
jelfeldolgozás,
optimalizálás, irányı́tási rendszerek,
grafikus ábrázolási feladatok megoldására.

Magas szintű programozási nyelv.


Parancsszavai matematikai képletek és függvények értelemszerű alkalmazásából adódnak. Parancs-
vezérelt üzemmódban, vagyis interpreterként dolgozik.
,,Nyitott” programcsomag, mert újabb funkciók (parancsok) is beépı́thetők úgynevezett .m - fileok
formájában. Ezek ∗.m kiterjesztésűek. Toolboxszokkal, úgynevezett eszköztárakkal egészül ki, ame-
lyek egy-egy speciális feladatosztály megoldására létrehozott .m - fileok gyűjteményei.

1.1. ALAPUTASÍTÁSOK, VÁLTOZÓK

>> help utası́tás név : bármely utası́tásról, programcsomagról információt ad.

>> után kell értékadó vagy műveleti utası́tást ı́rni, majd az Enter billentyűvel aktiválni.

Formája :

>> változó=kifejezés

ahol a változó: konstans, vektor vagy mátrix lehet,


kifejezés: egy érték vagy egy értékadást biztosı́tó függvény.

Példa :

>> q=sin(5)

q =

-0.9589

Ha a sor végére pontosvesszőt ı́runk, az eredmény nem ı́ródik ki.


bevezetés a matlab - ba 3

1.2. MÁTRIXOK

A MATLAB - ban a változók tı́pusára nincs külön definı́ció. A mátrix mérete és tı́pusa a beı́rt értékek
alapján automatikusan képződik.

1.2.1. MÁTRIX (ELEMEINEK) MEGADÁSA

1. Elemek felsorolásával :

a sor elemeit szóközzel vagy vesszővel kell elválasztani,


a sorok végét pontosvessző jelöli,
az elemek függvényként is megadhatók.

Példa :

>> A=[1 2 3 ; 4^2 sin(5) 6*pi ; 7, 8, 9]

A =

1.0000 2.0000 3.0000


16.0000 -0.9589 18.8496
7.0000 8.0000 9.0000

Megjegyzés :

A MATLAB - ban vannak tárolt értékek, mint például a π szám. Értékét a pi paranccsal ı́rathatjuk
ki. A MATLAB 4 tizedesjegy pontossággal ı́rja ki az értékeket (alapbeállı́tás), ezt a

>> format long

utası́tással állı́thatjuk át 14 tizedesjegy pontosságra, és a

>> format short

paranccsal vissza.

Példa :

>> pi

ans =

3.1416
bevezetés a matlab - ba 4

>> format long


>> pi

ans =

3.14159265358979

2. Egyenközű vektorok megadása a ,, : ” operátor illetve a linspace függvénnyel :

Példa :

>> V=-2:5

V =

-2 -1 0 1 2 3 4 5

Ha csak két értéket adunk meg, akkor a lépésköz automatikusan 1.

>> V=6:-2:-4

V =

6 4 2 0 -2 -4

Itt a középső értékkel megadtuk a lépésközt, jelen esetben ez -2.

>> V=linspace(0,20,6)

V =

0 4 8 12 16 20

6 elemű vektor, első eleme 0, utolsó 20.


bevezetés a matlab - ba 5

3. Beépı́tett mátrixok :

zeros(m,n) A mátrix minden eleme nulla.


ones(m,n) A mátrix minden eleme 1.
eye(m,n) Az átlóban 1 - esek vannak, egységmátrixok megadására kiválóan alkalmas.

Példa :

>> zeros(2,3)

ans =

0 0 0
0 0 0

>> ones(4,2)

ans =

1 1
1 1
1 1
1 1

>> eye(3,2)

ans =

1 0
0 1
0 0

>> eye(3,3)

ans =

1 0 0
0 1 0
0 0 1
bevezetés a matlab - ba 6

4. Mátrixot leképezhetünk valamilyen művelet segı́tségével egy másik mátrixból is.

Hivatkozások a mátrix elemeire, soraira, oszlopaira illetve blokkjaira (az indexelés 1 - től kezdődik):

A(m,n) m. sor n. eleme


A(m,:) m. sor
A(:,n) n. oszlop
A(m:i,j:n) (i − m + 1) × (n − j + 1) - es blokk: az m - i. sor j - n. elemeit adja meg

Példa :

>> A=[1 2 3 4 5 ; 6 7 8 9 10 ; 11 12 13 14 15 ; 16 17 18 19 20]

A =

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20

>> A(2,5)

ans =

10

>> A(3,:)

ans =

11 12 13 14 15

>> A(:,5)

ans =

5
10
15
20

>> A(2:3,2:4)

ans =

7 8 9
12 13 14
bevezetés a matlab - ba 7

1.2.2. MÁTRIXMŰVELETEK

Lehetnek :

1. tipikus mátrixalgebrai műveletek (szorzás, inverz, transzponált),


2. elemenkénti műveletvégzés.

Példa :

>> A=[1 2;3 4];


>> B=[5 6;7 8];
>> C=A*B

C =

19 22
43 50

Elemenként pedig a műveleti jel elé pontot teszünk:

>> D=A.*B

D =

5 12
21 32

Függvények is alkalmazhatók mátrixra:

>> X=0:pi/2:2*pi

X =

0 1.5708 3.1416 4.7124 6.2832

>> Y=sin(X)

Y =

0 1.0000 0.0000 -1.0000 -0.0000

Ez a függvényábrázolásnál igen fontos! Az értelmezési tartományként adott intervallumot egyenle-


tesen felosztjuk, majd az ı́gy kapott vektor minden elemére alkalmazzuk a függvényt.
bevezetés a matlab - ba 8

1.3. GRAFIKA

A legalapvetőbb rajzoló utası́tás a plot.

plot(x,y) az x függvényében kirajzolja y értékeit

plot(y) y értékeit az index függvényében ábrázolja

plot(x1,y1,x2,y2) ugyanabban a koordinátarendszerben két gráfot ábrázol

plot3(x,y,z) 3 dimenziós koordinátarendszerben kirajzolja az x,y,z vektorok által


megadott (xi , yi , zi ) pontokat

Feladat :

Ábrázoljuk a sin, cos függvényeket közös koordinátarendszerben [0, 2π] intervallumon!

>> x=linspace(0,2*pi,50);
>> y=sin(x);
>> z=cos(x);
>> plot(x,y,x,z)

Az eredmény külön ablakban jelenik meg.


bevezetés a matlab - ba 9

1.4. A MATLAB PROGRAMOZÁSA

A MATLAB programozási nyelv is!


A MATLAB programokat .m kiterjesztésű fileokban tároljuk. A file nevének (kiterjesztés nélkül)
utası́tásként való megadása esetén a MATLAB a file sorait egymás utáni sorrendben hajtja végre. A
% jel után megjegyzések ı́rhatók, ezeket a megjegyzéseket a MATLAB a program végrehajtása során
figyelmen kı́vül hagyja.
A MATLAB programok lényeges jellemzője, hogy a bennük lévő valamennyi változó globális.

1.4.1. CIKLUS ÉS ELÁGAZAS : for, while

for változó=kezdöérték:növekmény:végérték

utası́tás(ok);

end

while feltétel

utası́tás(ok);

end

if parancs az elágazásra

A növekmény tetszőleges valós szám lehet.

1.4.2. FÜGGVÉNYEK

Lehetőség van új függvények létrehozására .m kiterjesztésű fileként.

function[ki1,ki2,. . .]=fv nev(be1,be2,. . .)

Itt a változók lokálisak, kivéve a ki. . ., be. . .

Az első sort követő % jel utáni megjegyzéseket a MATLAB a help fv nev utası́tás hatására meg-
jelenı́ti.

You might also like