Matlab - tai viena seniausių ir galingiausių specialios paskirties kompiuterinių programų, skirtų automatizuoti mokslinius ir inžinierinius skaičiavimus. Darbas su šia galinga programa nėra sudėtingas, ypač turintiems bent minimalius programavimo įgūdžius.

Matlab terpėje galima dirbti dviem režimais:

Įjungus Matlab programą, ekrane parodomas pagrindinis jos langas (1 pav.).

1 pav. Matlab programos pagrindinis langas

Kadangi dirbant tiesioginiam komandų įvedimo režimu nėra galimybės programos teksto išsaugojimui ir redagavimui, dažniausiai naudojamas M-files redagavimo langas. Tiesioginis komandų įvedimo langas panaudojamas gauti informacijai apie funkcijas arba tiesioginiam ir greitam funkcijos išbandymui.

Pavyzdžiui norint gauti informaciją apie žinomą funkciją, rašoma komanda help funkcijos_pavadinimas:

>> help abs 

ABS Absolute value.
ABS(X) is the absolute value of the elements of X. When
X is complex, ABS(X) is the complex modulus (magnitude) of
the elements of X.

See also SIGN, ANGLE, UNWRAP.

Overloaded methods
help iddata/abs.m
help sym/abs.m

>>

Kai iš help failo nelabai aišku funkcijos pritaikymas komandinėje eilutėje patogu pasitikrinti funkcijos veikimą:

>> abs(-5) 

ans =

5

>> abs(4+i*3)

ans =

5

>>

Jei nežinomas konkretus funkcijos pavadinimas, pasinaudoti tiesiogiai komanda help funkcijos_pavadinimas nepavyks. Tokiu atveju reikia pasileisti Matlab programos Help langą ir pagal raktinius žodžius atlikti paiešką.

Programavimas Matlab terpėje atliekamas M-files redagavimo lange, kuris paleidžiamas paspaudus ikoną New M-files (1 pav.) arba pasirinkus meniu punktą File–>New–>M-file. Atsidaro naujas redagavimo langas (2 pav.)

2 pav. M-file redagavimo langas

Parašius programą ją sukompiliuoti ir įvykdyti galima keliais būdais: 

Matlab programa gali dirbti tik su tomis programomis, kurios patalpintos į jo darbinį katalogą, kurio adresas matomas pagrindiniame programos lange (1 pav.). Jei bandome kreiptis į M-file, kuris patalpintas ne darbiniame kataloge, Matlabas sugeneruos klaidos pranešimą:

>> testine 
??? Undefined function or variable 'testine'.

>>

Todėl M-file reikia saugoti arba darbiniame kataloge (pagal nutylėjimą katalogas work), arba bet kokiame kitame kataloge, tik tuomet reikia Matlab terpėje nurodyti naują darbinį katalogą. Tai atliekama dviem būdais: 

3 pav. Darbinio katalogo pasirinkimas M-file kompiliavimo metu

Programavimas Matlab aplinkoje

Programos rašomos M-file redagavimo lange. Patartina programos pradžioje parašyti trumpą komentarą apie ką yra ta programa. Matlab aplinkos sintakse labai panaši į C kalbos sintaksę, su specifinėm Matlab galimybėm arba ribojimais. Dažniausiai naudojami programavimo elementai:

%testine programa demonstruoti darbui su Matlab aplinka 
k=5 
>> k=sin(30*pi/180) 

k =

0.5000

>>

i, j           - kvadratinė šaknis iš –1 (menamas 1);
pi            – skaičius 3.1415926…;
realmin   – mažiausias skaičius (2-1022);
realmax  – didžiausias skaičius (21023);
inf           – mašininė begalybė;
ans          – kintamasis, kuriame saugoma paskutinė apskaičiuota reiškinio reikšmė.

išvedamų rezultatų formatą galima parinkti komanda format. Žemiau pateikta lentelė iliustruoja kai kuriuos komandos format naudojimo pavyzdžius, išvedant išraiškos 100/3 rezultatą:

format short                 33.3333
format short e              3.3333e+001
format long                   33.33333333333334
format long e                3.333333333333334e+001
format short g              33.333
format long g                33.3333333333333
format hex                    4040aaaaaaaaaaab

>> format short e 
>> 100/3

ans =

3.3333e+001

>>
>> k=1:2:10 

k =

1 3 5 7 9

>>

jei žingsnis nenurodomas, Matlab traktuoja jį kaip 1:

>> k=1:10 

k =

1 2 3 4 5 6 7 8 9 10

>>

plot                 - sukuriamas vektoriaus ar matricos stulpelių grafikas;
fplot               - sukuriamas grafikas, kai yra nurodyta funkcijos analitinė išraiška;
stem              - sukuriamas vektoriaus ar matricos stulpelių taškinis grafikas;
title                - įterpiamas grafiko pavadinimas;
xlabel            - įterpiamas x ašies pavadinimas;
ylabel            - įterpiamas y ašies pavadinimas;
text                - nurodytas tekstas įterpiamas į grafiką;
gtext              - nurodytas tekstas įterpiamas į grafiką naudojant pelę;
grid                - įjungiamas arba išjungiamas koordinačių tinklelis;
figure             - sukuriamas arba suaktyvinamas grafinis langas; 

Ciklinės ir sąlygos struktūros Matlab terpėje

Ciklinę struktūrą Matlab terpėje galima suformuoti dviem būdais – panaudojant ciklus for ir while.

for i=pradine_reiksme:galine_reiksme
operacija 1;
operacija 2;
....
operacija n;
end

for i=1:10 %ciklo formavimas 
x(i,1)=5*i; %dvimacio masyvo formavimas
end %ciklo pabaiga

while i
x(i,1)=5*i;
i=i+1;
end

Naudojant while ciklą negalima pamiršti ciklo skaitliuko didinimo operacijos, kitaip gausis amžinas ciklas!

while i<10 %ciklo formavimas 
x(i,1)=5*i; %dvimacio masyvo formavimas
i=i+1; %ciklo skaitliuko didinimas
end %ciklo pabaiga

Sąlygos struktūros formavimui dažniausiai naudojama komanda if. Jos bendra struktūra:

if lyginamas_dydis < ribine_reiksme
    
operacija 1; 
  operacija 2;
  ..
  operacija n;
else
  operacija 1
  operacija 2
  ..
  operacija n;
end;

Galima naudoti dalinę if komandą:

if lyginamas_dydis < ribine_reiksme
  operacija 1;
  operacija 2;
  ..
  operacija n;
end;

if i<12 %salyga 
x(i,1)=0; %operacija, jei salyga tenkinama
else
x(i,1)=10; %operacija, jei s1lyga netenkinama
end; %salygos pabaiga