Professional Documents
Culture Documents
Po startovanju programa otvara se komandni prozor i pojavljuje se simbol >>, koji se naziva
“prompt”, a koji označava da je Matlab spreman da prihvati podatke ili naredbe. Tekst u
komandnom prozoru se briše naredbom clc.
Osnovni objekt u Matlab-u je matrica dimenzija m×n, a sve elementarne operacije su tako
definisane da podržavaju rad sa matricama. Time je omogućeno da se sve matematičke i
logičke operacije, kao i iskazi u Matlab-u definišu i izvode na isti način kao što bi ih pisali na
papiru. Vektori su posebni slučajevi matrica 1×n ili n×1, dok su skalarne veličine poseban
slučaj matrice 1x1.
Unošenje podataka pomoću tastature.
Postoji više načina za unošenje podataka koje treba obraditi:
pomoću tastature,
generisanjem pomoću posebnih funkcija,
učitavanjem iz fajla,
kao rezultat neke prethodne operacije.
Pretpostavimo da u Matlab treba uneti vrednost skalarne promenljive x = 5. To se može
uraditi na sledeći način. Kada se pojavi prompt >>, ukucavanjem: >> x=5; vrednost
promenljive x se smešta u radnu memoriju Matlab–a (Workspace) i može se pozivati i
koristiti sve dok se:
a) ne izađe iz programa,
b) ne predefiniše unošenjem neke druge vrednosti ili izvršavanjem određene operacije,
c) ne izbriše iz radne memorije komandom clear x,
d) komandom clear ne izbriše cela radna memorija.
Ukoliko se prilikom bilo kakvog dodeljivanja vrednosti promenljivoj izostavi znak ; ta
promenljiva će se još i štampati na ekranu, tako da naredba:
>> x=5
daje kao rezultat na ekranu:
x=
5
Pretpostavimo sada da u Matlab treba uneti vrednost vektora b, koji ima sledeće elemente
[1 4 5 6 7 12.3]. To se može uraditi na sledeći način:
>> b=[1 4 5 6 7 12.3];
Matrica A dimenzija 4×3, zadata kao:
1
Matrica se može zadati i unošenjem svakog elementa posebno:
>> A(1,1)=1; A(1,2)=7; A(1,3)=8; A(2,1)=9; A(2,2)=2; A(2,3)=11;
>> A(3,1)=0; A(3,2)=3; A(3,3)=2.1; A(4,1)=2.4; A(4,2)=8; A(4,3)=100;
Takođe, matrica se može uneti zadavanjem vrsta ili kolona
>> A(1,:)=[1 7 8];A(2,:)=[9 2 11];A(3,:)=[0 3 2.1];A(4,:)=[2.4 8 100];
>> A(:,1)=[1 9 0 2.4];A(:,2)=[7 2 3 8];A(:,3)=[8 11 2.1 100];
Elementima matrice pristupa se preko njihovog indeksa. Osim pojedinačnih elemenata
matrice, moguće je izdvojiti vrstu, kolonu ili bilo koju podmatricu. Za matricu definisanu
izrazom:
>> A = [1 2 3; 4 5 6; 7 8 9];
element A(2,2) bi bio:
>> A(2,2)
ans =
5
Izdvajanje treće kolone matrice A vrši se izrazom:
>> A(:, 3)
ans =
3
6
9
Podmatrica koja predstavlja presek prve i treće vrste i druge i treće kolone matrice A dobija
se izrazom:
>> A([1 3], [2 3])
ans =
23
89
Prethodni rezultat se može dobiti i izrazom:
>> A(1:2:3, 2:3)
U izrazima za selekciju elemenata matrice moguće je koristiti i prethodno definisane vektore
– promenljive. U MATLAB-u je moguće promeniti i dimenzije matrice. Na primer, izraz
>> A = [A; 10 11 12]
A=
1 2 3
4 5 6
7 8 9
10 11 12
2
će proširiti matricu A novom vrstom. Slično tome, sledeća komanda će ukloniti drugu kolonu
iz matrice A.
>> A = A(:, [1 3])
A=
1 3
4 6
7 9
10 11
Ukoliko se matrica proširuje novim elementima, a ne definišu se vrednosti svih novih
elemenata, za njihove vrednosti se uzima nula. Na primer:
>> x = 1 : 4;
>> x(6) = 7
x=
123407
Osnovne operacije u Matlab-u
Matrice se mogu generisati i kao rezultat osnovnih aritmetičkih ili logičkih operacija. Na
primer, ako se pođe od već zadate matrice A, kucanjem:
>> C=A';
dobija se transponovana matrica C, pošto je ' operator za transpoziciju1.
U sledećoj tabeli su prikazane elementarne matematičke operacije nad matricama u Matlab-
u:
1 Ukoliko matrica sadrži kompleksne brojeve operator ' će istovremeno sa transponovanjem vršiti i
konjugovanje kompleksnih brojeva. U ovom slučaju ukoliko je potrebno samo izvršiti transponovanje matrice
koristi se operator .'
3
U opštem slučaju, ako se operator . stavi ispred simbola neke matematičke operacije, time
se označava da se ta operacija sprovodi između odgovarajućih elemenata matrica. Tako je:
>> D = D.*E množenje matrica element po element
>> F = D.^E stepenovanje svih elemenata matrice D odgovarajućim elementom matrice E
>> F = D./E deljenje svakog elemenata matrice D odgovarajućim elementom matrice E
dok je:
>> F=D\E deljenje matrica D i E sleva, odnosno –1 = ⋅ F D E
>> F=D/E deljenje matrica D i E sdesna, odnosno –1 = ⋅ FDE
5
min(x) Rezultat je najmanji element u matrici
Zadaci:
1. Napravite 10-dimenzionalni vektor red čije su sve komponente 2. Broj 2 smete
koristiti samo jednom u zadatku.
>> 2*ones (1,10)
2. Dat je vektor a = [1 2 3 4 5]. Napraviti vektor b koji ima iste komponente kao a, samo
u suprotnom poretku.
>> a = [1 2 3 4 5]
>> b = a(1,5:-1:1)
3. Funkcije min/max služe pronalaženju najmanjeg/najvećeg elementa matrice. Da ih
nemate na raspolaganju, kako biste pronašli najmanju/najveću komponentu vektora?
a = [3,5,2,4,1].
>> a = [3,5,2,1,4]
>> vekt = sort(a)
>> mini=vekt(1)
>> ans=1
>> maxi=vekt(length(vekt))
>> ans=5
4. Data je matrica A = [ 23 5 -9; -18 12 6; 13 -11 4] . Pomoću funkcija Min/max izdvojiti
najmanji element iz prve kolone i najveći element iz drugog reda.
>> j = min(A(:,1))
>> k = max(A(2,:))
5. Ugrađena MATLAB funkcija sort(a) sortira komponente vektora a u uzlaznom
poretku. Iskoristite funkciju sort da biste sortirali a u silaznom poretku a = [3,5,2,4,1].
>> a = [3,5,2,1,4]
>> sort (a)
>> ans = 1 2 3 4 5