| POČETNA STRANICA | SURADNICI | PROJEKTI | NASTAVA |
 
Vježba 1: Uvod u MATLAB
Matlab je interaktivni program za znanstvene i inžinjerske proračune. Skup Matlabovih programa uključuje osnovni program i različite toolboxove (programe specijalizirane za rad u određenim znanstvenim područjima). Većina naredbi i funkcija neovisne su o operacijskom sustavu na kojem pokrećemo Matlab. Također, komunikacija s Matlabom ostaje ista bez obzira na kojem ga OS-u pokrenemo.

Nakon pokretanja programa otvara se Matlabov prozor. Uočavamo znak (prompt) >>, gdje unosimo naredbe.
Osnovne aritmetičke operacije:

+zbrajanje
-oduzimanje
*množenje
/"desno" dijeljenje
\"lijevo" dijeljenje
^potenciranje
<manje
<=manje ili jednako
>veće
>=veće ili jednako
==jednako
~=nije jednako


Matlab možemo koristiti kao kalkulator:
>> 4+3/2*7-2^3
ans=

6.5000

Rezultat logičkih usporedbi u Matlabu je 1 za istinit rezultat odnosno 0 ukoliko rezultat nije istinit.
>>2<3
ans =

1

>>3==0
ans =

0

Konstante:


pi3.14159265
iimaginarna jedinica
jimaginarna jedinica
epsnajmanji broj za koji je 1+eps različito od 1-52
realmaxnajveći pozitivan realni broj
realminnajmanji pozitivni realni broj
InfInfinity (rezultat djeljenja s nulom)
NanNot-A-Number (npr. 0/0)


Sva računanja Matlab izvodi u dvostrukoj preciznosti (15 značajnih znamenki), a način ispisivanja kontrolira naredba format.

format short ili samo format 4 decimalna mjesta
format short e eksponencijalni prikaz sa 4 decimalna mjesta
format long 14 decimalnih mjesta
format long e eksponencijalni prikaz sa 14 decimalnih mjesta
format rat aproksimacija brojeva razlomkom
format compact ispis bez praznih redova
format loose ispis sa dodatnim praznim redovima


Pomoć
Objašnjenje bilo koje Matlabove naredbe ili funkcije može se dobiti naredbom help (npr. help format detaljno ispisuje mogućnosti i način korištenja naredbe format).

Varijable
Varijablu ans Matlab automatski generira i pridružuje joj vrijednost zadnjeg izračunatog izraza koji nije pridružen nijednoj varijabli.

>> 4+3/2*7

ans=

14.5000

»ans-2

ans=

12.5000

Korisnik može sam definirati svoje varijable.

>>x=5

x=

5

>>y=3*x

y=

15

Imena varijabli mogu se sastojati od kombinacija brojeva i slova s tim što prvi znak mora biti slovo. Matlab razlikuje mala i velika slova u imenu varijabli. Popis svih korištenih varijabli dobijamo funkcijama who i whos. Naredba clear briše sve korisnikove varijable iz memorije.

Sprječavanje ispisivanja privremenih rezultata postižemo upotrebom dvotočke:

>>x=5;
>>y=3*x

y =

15

Ugrađene funkcije

fja objašnjenje
sin sinus
cos kosinus
tan tangens
asin arkus sinus
acos arkus kosinus
atan arkus tangens
sinh hiperbolni sinus
cosh hipebolni kosinus
tanh hiperbolni tangens
asinh area sinus hiperbolni
acosh area kosinus hiperbolni
atanh area tangens hiperbolni
abs apsolutna vrijednost
sqrt kvadratni korijen
real realni dio kompleksnog broja
imag imaginarni dio kompleksnog broja
conj kompleksno konjugiranje
exp exponencijalna funkcija (baza e)
log logaritamska funkcija (baza e)
log10 dekadski logaritam


Vektori

Matrice sa jednim stupcem ili jedim retkom zovemo vektori. Vektori se u Matlab unose na slijedeći način:

>>a=[2 5 6] (ili a=[2,5,6])

a=

2 5 6

>>b=[5;2;1]

b=

5
2
1


Uočiti što dobijemo za a' i b'.

>>a'

ans= 2
5
6


>>b'

ans= 5 2 1

Zbrajanje vektora sa skalarom:

>>a+2

ans=

4 7 8

>>b-1

ans=

4
1
0


Množenje vektora sa skalarom:

>>a*3

ans=

6 15 18

>>b*-2

ans=

-10
-4
-2


Osnovne operacije nad dva vektora su moguće samo ukoliko su istog oblika:

>>a+b

??? Error using ==> +

Matrix dimensions must agree.

>>a+b'

ans =

7 7 7

>>a'+b

ans =

7
7
7


n-ti element vektora dobijemo na slijedeći način:

>>a(2)

ans=

5

>>b(5)

??? Index exceeds matrix dimensions.

Upotreba dvotočke

Jednostavan način izrade aritmetičkih nizova:

>>1:5

ans=

1 2 3 4 5

>>4:-1:-4

ans =

4 3 2 1 0 -1 -2 -3 -4

>>x=0:pi/3:2*pi

x =

0 1.0472 2.0944 3.1416 4.1888 5.2360 6.2832

>>y=sin(x)

y =

0 0.8660 0.8660 0.0000 -0.8660 -0.8660 -0.0000

Ispis n do m-tog člana vektora dobijamo na slijedeći način:

>>x(2:4)

ans =

1.0472 2.0944 3.1416

Ukoliko želimo vektor generirati po broju elemenata a ne prema razmaku između susjednih elemenata koristimo funkciju linspace:

>>s=linspace(0,10,3)

s =

0 5 10

Funkcije zaokruživanja

Matlab posjeduje 4 funkcije za zaokruživanje realnih brojeva (round, fix, floor, ceil).

round - zaokružuje broj prema najbližem cjelobrojnom fix - zaokružuje broj prema nuli floor - zaokružuje broj prema -µ ceil - zaokružuje broj prema +µ

>>x=-pi:pi/4:pi

x =

Columns 1 through 7

-3.1416 -2.3562 -1.5708 -0.7854 0 0.7854 1.5708

Columns 8 through 9

2.3562 3.1416

>>round(x)

ans =

-3 -2 -2 -1 0 1 2 2 3

>>fix(x)

ans =

-3 -2 -1 0 0 0 1 2 3

>>floor(x)

ans =

-4 -3 -2 -1 0 0 1 2 3

>>ceil(x)

ans =

-3 -2 -1 0 0 1 2 3 4

Funkcija sign vraća predznak argumenta:

>>sign(x)

ans =

-1 -1 -1 -1 0 1 1 1 1

Zadatak na vježbi

Na temelju gornjih primjera:

  • Pomoću naredbe "linspace" formirajte niz od 100 vrijednosti ravnomjerno raspoređenih između brojeva 250 i 380.
  • Na zadani niz vrijednosti primijenite naučene funkcije za zaokruživanje
  • Izaberite jedan od zaokruženih nizova i izračunajte za taj niz funkcije x2, 2*x-3, 5-x i sqrt(x)
Napomena: Prvih 10 vrijednosti iz svakog zadatka prepisati na papir i predati na kraju vježbe!