Bevezetés az Matlab használatába

A Fizipedia wikiből
A lap korábbi változatát látod, amilyen Bordacs (vitalap | szerkesztései) 2021. szeptember 6., 10:16-kor történt szerkesztése után volt.


Tartalomjegyzék

MATLAB

A MATLAB egy programozási nyelv illetve egy numerikus számításokra elvégzésére alkalmas programcsomag. A Bevezető labor során mérési adatok feldolgozására, megjelenítésére és kiértékelésére használjuk, melyhez a MATLAB alapfunkcióit ismerjük meg. Akik a MATLAB programozásban jobban el kívánnak mélyedni a A MATLAB programozása című tárgyat ajánljuk. Az alábbiakban a laborhoz szükséges alapvető utasításokat gyűjtöttük össze, mely a tanórán megszerzett gyakorlattal együtt segít a mérési adatok feldolgozásában.

A MATLAB programozáshoz hasznos segítség a MathWork honlapja, ahol megtalálható parancsok részletes dokumentációja valamint számos példa is [1].

Telepítés

A MATLAB telepítéséhez kövessük az egyetemi licensz oldal utasításait [2]. Hallgatók az egyetemi edu.bme.hu e-mail címmel tudnak regisztrálni. A laborhoz szükséges görbeillesztési eljárásokhoz telepítsük a Curve Fitting Toolbox készletet is!

MATLAB szerkesztő

A MATLAB indítása után az alábbi képernyőt látjuk:

MATLAB screen.png

A MATLAB parancsokat egyenként futtathatjuk a Command Window mezőbe gépelve vagy az utasításokból kódot készíthetünk a Live Editor felületen. A parancsok végrehajtást követően megjelennek a Command Window-ban. Ezt elkerülhetjük ha ;-vel lezárjuk a parancsokat. A MATLAB kódokat .m kiterjesztési M fájlokban szokás tárolni, majd a felső Live Editor sávban található Run zöld háromszög segítségével futtathatjuk. A futások eredménye, ekkor a Command Window-ban vagy külön ablakokban jelenik meg. A labor során az .mlx kiterjesztésű Live Script fomátumot használjuk, melynek előnye, hogy a futások eredményét közvetlenül a parancsok alatt látjuk. Section Break elhelyezésével egy nagyobb kódot kisebb részekre tördelhetünk, melyek külön-külön futtathatóak.

Számolás mátrixokkal

A leggyakrabban használt adattárolási forma a vektor vagy mátrix. Értékadás változónév = érték formában történik. Ezt követően a változók a Workspace mezőben követhetők.

Sorvektort [1 2 3], míg oszlopvektort [1; 2; 3] utasítással hozunk létre.

Ekvidisztáns adatokat megadhatunk a mettől:lépésköz:meddig módon:

>> V = 2:2:9
 
V =
 
     2     4     6     8

Mátrix sorvégeit értelemszerűen ;-tal zárjuk:

>> M = [1 2 3; 4 5 6; 7 8 9]
 
M =
 
     1     2     3
     4     5     6
     7     8     9

Az elemek indexelése 1-től kezdődik. Kerek zárójelekkel elemet vagy almátrixot lehet kiválasztani:

>> M(2,2)
 
ans =
 
     5
 
>> M(:,2:3)
 
ans =
 
     2     3
     5     6
     8     9

Az eye(n) nxn egységmátrixot, a zeros(n,m) nxm nullmátrixot, a ones(n,m) nxm 1-kel teli mátrixot hoz létre:

>> eye(3)
 
ans =
 
     1     0     0
     0     1     0
     0     0     1

Adatbevitel

Meglévő mátrix elemeit kézzel is felülírhatjuk. A Workspace mezőben a változó nevére kettőt kattintva megjelennek a mátrixelemek, amiket szerkeszthetünk is. Jobb kattintás a változó nevére és Save As opciót választva külső fájlba menthetjük az adatokat. A változó visszaolvasásához a load('fájlnév') parancsot futtassuk.

A változókat a save('fájlnév','változónév') paranccsal menthetjük ki majd a load('fájlnév') paranccsal olvassuk be. A változókat a clear all paranccsal törölhetjük a memóriából.

ASCII fájlok kezeléséhez először olvassunk be egy fájl az fopen('fájlnév') paranccsal, mely vissza ad egy fájlazonosítót:

>> fid = fopen('example.txt')
 
fid =
 
     4

Az adatok olvasásához használjuk a textscan('fileID','formatspecification') parancsot. A beolvasott adat oszloporól a C nyelv utasításaihoz hasonló formátum specifikációkat használunk:

formatspec változó típus
%d egész szám
%f lebegőpontos szám
%c karakter
%s string

Szükség esetén a fájl fejlécét tartalmazó sorokat kihagyhatjuk a 'headerLines' kapcsolóval.

>> Data = textscan(fid, '%s %s %f %s %s %f', 'headerLines', 5, 'CollectOutput', true)
 
Data =
 
  1×4 cell array
 
    {1001×2 cell}    {1001×1 double}    {1001×2 cell}    {1001×1 double}

Grafikon szerkesztés

Az adatokat a plot(xváltozó,yváltozó) paranccsal ábrázolhatjuk. Ha újabb görbét szeretnénk hozzáadni a grafikonhoz, akkor a hold on parancsot futassuk.

A grafikon tulajdonságai az ábrára kattintva változtathatjuk illetve parancsokkal is beállíthatjuk:


Jegyzőkönyve, szakdolgozatba, szakcikkbe szánt ábra készítésekor vegyük figyelembe az alábbi pontokat:

  1. látható méretű legyen az ábra,
  2. az összes adat megfelelően látszon,
  3. a mérés hibáját tüntessük fel,
  4. szerepeljenek jól olvasható tengelyfeliratok, melyek megadják a mértékegységeket is,
  5. ha szükséges legyen jelmagyarázat.

Egyenesillesztés

cftool

Nemlineáris görbeillesztés