Professional Documents
Culture Documents
Analiza problema
Analiza problema je najkritinija faza u rjeavanju
problema.
Cilj ove faze je da prui preciznu definiciju i opis
problema, specifikaciju ulaznih podataka,
specifikaciju izlaznih podataka (rezultate koji se
oekuju), kao i postupak da se do takvih rezultata
doe. Problemi koji se mogu jednostavno izraziti
matematikim jezikom mogu se i precizno definisati
i opisati pri rjeavanju na raunaru. Za klasu
nematematikih problema to nije tano. Za fazu
analize problema postoji vie razliitih, manje ili
vie formalizovanih, postupaka.
Algoritmi
Algoritam predstavlja niz uputstava koje tano
odreuju redoslijed operacija koje e dovesti do
rjeenja za ma koji problem datog tipa.
ta je algoritam?
Abu Ja'far Mohammed
ibn Musa al Khowarizmi
roen u mjestu Khwarizm,
danas Khiva, Uzbekistan,
oko 780. g.
umro u Bagdadu, oko 850
godine.
jedan od 10 najcjenjenijih
matematiara svih vremena
ta je algoritam?
potie koritenje Hindu-arapskih brojeva (pogreno
smatranih arapskim izumom - vee zasluge imaju Indijci),
uvodi nulu
oko 825 godine napisao knjigu o vjetini raunanja pomou
etiri osnovne operacije: Hidab al-jabr w'al-muqubala
ta je algoritam?
Vjerovao da se bilo koji matematiki problem moe ralaniti na
korake, tj. niz pravila.
U latinskom prevodu knjige (12. vijek) ispred svakog pravila pie
Dixit Algorizmi - rekao je Al Kowarzimi
algoritam glasi
U poetku algoritmom se nazivaju samo pravila raunanja s
brojevima, kasnije i pravila obavljanja ostalih zadataka u matematici
u XX vijeku, pojavom raunara, pojam se proiruje na raunarstvo,
a zatim i na druga podruja
pravila za postizanje eljenog rezultata
Algoritam
Precizno opisan nain rjeenja nekog problema
Jednoznano odreuje ta treba napraviti
Moraju biti definisani poetni objekti koji pripadaju nekoj
klasi objekata na kojima se obavljaju operacije
Kao ishod algoritma pojave se zavrni objekt(i) ili rezultat(i).
Konani broj koraka; svaki korak opisan instrukcijom
Obavljanje je algoritamski proces
Upotrebljiv, ako se dobije rezultat u konanom vremenu
Primjeri za nedoputene instrukcije:
izraunaj 5/0
uveaj x za 6 ili 7
Algoritam
Algoritam mora biti djelotvoran:
U konanom vremenu moe se dobiti rezultat
koristei olovku i papir.
Primjeri:
Sabiranje cijelih brojeva je djelotvorno
Sabiranje realnih brojeva nije, jer se moe pojaviti
broj s beskonano mnogo cifri
Sa znanjem programiranja i uz razumijevanje problema
koji rjeava, student moe napisati djelotvoran
(effective) algoritam.
Mnoenje se moe svesti na ponavljanje sabiranja
djelotorno, ali nije uinkovito!
Prirodni jezik
Ovom tehnikom se algoritam prikazuje kao niz
brojem oznaenih koraka.
Svaki korak sadri jednu ili vie reenica prirodnog
jezika (npr. srpskog) kojim se opisuje proces
(operacija) koju u tom koraku treba izvriti.
Prirodni jezik
Jednostavan primjer:
Prikazati (na monitoru raunara) dvostruku vrijednost
broja koji je prethodno unijet u raunar (npr. pomou
tastature).
Prirodni jezik
Algoritam u prirodnom jeziku:
1. Traiti od korisnika da uz pomo tastature unese broj.
2. Uitati broj koji korisnik ukuca na tastaturi.
3. Pomnoiti uitani broj brojem 2.
4. Prikazati rezultat operacije iz koraka 3 na monitoru
raunara.
Prirodni jezik
Sekvenca se prikazuje jednostavno nizanjem koraka
jedan za drugim, pri emu svaki korak dobija redni broj u
redoslijedu kojim treba da se izvravaju.
Odluka se prikazuje opisom uslova i uputstvom na koji
korak se ide za sluaj da je uslov ispunjen, a na koji
korak kada uslov nije ispunjen. Na slian nain moemo
izvriti i selekciju iz vie moguih rezultata nekog
uslova.
Repeticija iteracija se postie tako to se izvrenje
nastavlja nekim korakom koji ima manji redni broj od
onog u kojem se postavlja uslov repeticije.
Prirodni jezik
Prednosti prirodnog jezika:
Jednostavan za uenje, jer se ionako sluimo prirodnim
jezikom.
Nedostaci prirodnog jezika:
- Koraci su predugaki jer se mora koristiti puno rijei za
njihov opis.
- Prevoenje iz prirodnog jezika u kompjuterski jezik
moe biti teko jer za razliku od prirodnih jezika,
kompjuterski (programski) jezici imaju vrlo precizno
definisanu sintaksu (gramatiku) i semantiku (znaenje).
Simbol obrade
Simbol obrade se koristi za predstavljanje svih
operacija u kojima dolazi do transformacije
informacionih struktura najee aritmetikim,
logikim ili operacijama prenosa informacionog
sadraja.
A= B*
2
CA+ B
CA+B
I=I+1
Simbol ulaza/izlaza
Uitaj
X
Uitaj
A, B, C
Poetak
XA
X X +C
X X +B
X X +D
Kraj
Simbol odluke
Simbol odluke (testa) slui za oznaavanje operacija
odluivanja ili grananja toka izvoenja algoritma, a
prema nekom kriterijumu odluivanja.
Razlikuju se dvije vrste testa:
aritmetiki i
logiki.
Kod aritmetikog testa iz bloka odluivanja postoje
dva ili tri izlaza - ilustrovano je na narednoj slici.
Dvotaka ( : ) se koristi za oznaavanje poreenja
aritmetikih izraza E1 i E2.
<
E1:E2
>
DA
L
NE
Simbol podalgoritma
Simbol podalgoritma
Sortiranje niza
A(i) u rastuem
redoslijedu
Simbol komentara
Simbol komentara omoguava upisivanje
komentara ili blieg opisa karakteristinih
koraka algoritma. Stavlja se pored toka
odvijanja algoritma.
Uitaj
x predstavlja
ugao
Pseudo kd
Ova tehnika je veoma slina prirodnom jeziku s tom razlikom
to se umjesto prirodnog jezika koristi neki drugi jezik (slian
prirodnom) koji ima precizniju sintaksu, koristi manji broj
unaprijed zadatih rijei, pa je time lake definisati i semantiku
(znaenje) reenica koje se formiraju u tom jeziku.
Takav jezik esto podsjea i na programske jezike, to jest on
predstavlja kompromis izmeu prirodnog i programskog jezika.
Kompromis u smislu da je dovoljno jednostavan i razumljiv za
ovjeka, a istovremeno pogodan za dalje transformisanje
algoritma u program.
Recimo takav jezik moe sadrati rijei kao to su: display (za
prikaz poruke na monitoru), read (za uitavanje podatka), kao i
simbole +,-,*,/,= za korienje u matematikim formulama itd.
Pseudo kd
Tako na prethodni primjer algoritma moe pseudo kdom
biti prikazan kako slijedi:
1. display poruka
2. read broj
3. rezultat = broj*2
4. display rezultat
Pseudo kd
Prednosti:
Jednostavan za uenje skoro kao i kod prirodnog jezika.
Laki za prevoenje u programski jezik, jer jako
podsjea na stvarne programske jezike.
Nedostaci:
- Ova tehnika se oslanja na poznavanje takozvanih
imperativnih (proceduralnih) jezika, pa za one koji se prvi
put sreu sa ovom vrstom jezika moe biti malo zbunjujue
mijea se prirodni i simboliki jezik.
Naredba proces
Proces A
Proces B Proces C
a) Sekvenca
Ovde je proces A sloen
proces koji se sastoji od
prostih procesa B i C.
Da bi se obavio proces A
potrebno je najprije obaviti
proces B, a onda proces C.
Potprocesi se, dakle,
izvravaju slijeva udesno
jedan za drugim. Naravno
proces A je mogao biti jedan
jednostavan proces koji ne
zahtijeva dalju podjelu.
Proces A
uslov 1
o
Proces B
uslov 2
o
Proces C
b) Odluka (selekcija)
Odluka se oznaava tako to se
proces A dijeli na procese B i C,
ali uslovno, tako da se proces A
ispunjava bilo izvravanjem
procesa B (kada je uslov 1
ispunjen) bilo izvravanjem
procesa C (kada je uslov 2
ispunjen).
Uoite mali krui u gornjem
desnom uglu pravougaonika
procesa B i C. Ti se kruii
koriste da se pravougaonik
odluke razlikuje od
pravougaonika sekvence.
Proces A
uslov
*
Proces B
c) Repeticija
Repeticija iteracija je sloena
komponenta koja se izvrava
ponavljanjem nekog
procesa nula ili vie puta u
zavisnosti da li je uslov
ispunjen ili ne.
ANALIZA
PROBLEMA
RAZVOJ
ALGORITMA
PROGRAMIRANJE
REZULTATI TACNI
DA
?
NE
DA
KRAJ
GREKA U
PROGRAMU
?
NE
DA
GREKA U ALGORITMU
?
NE
Blok dijagram
algoritma za
rjeavanje problema
primjenom raunara
Programiranje
Nakon analize problema i razvoja odgovarajueg
algoritma za rjeavanje problema slijedi
transformacija algoritma u raunarski program,
odnosno implementacija algoritma na raunaru.
Sutina programiranja je kodiranje (prevoenje)
algoritma (ili raunarskih metoda) na odreeni
programski jezik.
Program se moe definisati kao niz naredbi
(instrukcija) pisanih u odreenom programskom
jeziku (izvornom jeziku) koji posjeduje implicitan
ili eksplicitan redoslijed izvravanja na raunaru.
Ciljevi
ta je programski jezik
Mainski jezik i asembler
Vii programski jezici
Popularni programski jezici
Razvojni ciklus programa
Programski jezici:
Programski jezik je skup naredbi za
izvravanje raunarskih zadataka.
Predstavlja skup rijei i skup pravila na
osnovu kojih se pie program.
Razvojni ciklus programa skup pravila
na kojima se zasniva razvoj softvera.
Programski jezici:
Kompajleri i Interpreteri
Objektno-orijentisano programiranje
Objektno-orijentisano programiranje (OOP):
Zasniva se na mogunosti viestruke
upotrebe komponenata
Sposobnost pravljenja programskih
modula koji obavljaju specifian
zadatak.
Ukida razliku izmeu programa i podataka
Upotreba objekata koji sadre podatke i
procedure
Objekti
Objekti su jedinice informacija koji sadre
podatke kao i metode za procesiranje i rad sa
podacima
Klase objekata:
Hijerarhija ili kategorija objekata
Algoritamske promjenljive
Algoritamske promjenljive se oznaavaju imenima
koja se obino sastoje od jednog ili vie slovnih i
brojnih znakova.
Prvi znak je slovo.
Imena promjenljivih se biraju tako da ukazuju na
prirodu promjenljive koju predstavljaju.
Preporuuje se da se imena promjenljivih u
algoritmu i u odgovarajuem programu poklapaju jer
je na taj nain olakano odravanje programa.
Algoritamske promjenljive
Primjer: Algoritam nalaenja sume i razlike dva broja
Ulazni podaci
Prvi broj
Drugi broj
Imena promjenljivih
A
B
Imena promjenljivih
SUMA
RAZ
Algoritamske promjenljive
POETAK
Primjer:
Algoritam nalaenja
sume i razlike dva broja
Ulaz:
A, B
SUMAA+B
RAZA-B
Izlaz:
A, B, SUMA, RAZ
KRAJ
Razlikuju se:
Linijska struktura /tok obrade iskljuivo odozgo na dole/
Struktura sa grananjem /algoritam sadri simbol odluke
ULAZ
A, B
SUMA A+B
RAZ A - B
IZLAZ
A, B, SUMA,
RAZ
KRAJ
Primjer
POETAK
Ulaz:
A, B
POMA
AB
BPOM
Algoritam za zamjenu
vrijednosti dva broja
KRAJ
POMA
AB
BPOM
POVRATAK
POETAK
Ulaz:
X, Y
ZAMJENA (X,Y)
Izlaz:
X, Y
KRAJ
Struktura sa grananjem
Strukture sa granjanjem (razgranate algebarske
strukture) pojavljuju se uvijek kada algoritam sadri
simbol odluke.
U zavisnosti od vrste simbola odluke i od broja
simbola odluke algoritam moe da sadri dvije ili
vie grana.
Prilikom izvravanja algoritma nailaskom na simbol
odluke vri se ispitivanje uslova postavljenih u
simbolu odluke.
Izvoenje algoritma se nastavlja samo jednom od
grana, a kojom to zavisi od uslova postavljenih u
simbolu odluke.
Struktura sa grananjem
Utvrivanje maksimalne ili minimalne vrijednosti je
jedan od problema koji se pojavljuju u kvantitativnim
metodama i posljedino u odluivanju.
Problem se moe rijeiti na vie naina.
Problem nalaenja maksimuma i minimuma se svodi
na utvrivanje koji je od dva broja vei (manji).
Algoritam kojim se utvruje vei od brojeva
prikazan je na narednoj slici.
Struktura sa grananjem
POETAK
Ulaz:
A, B
DA
A>B
MAXA
NE
MAXB
Izlaz:
A, B, MAX
KRAJ
Algoritam za
odreivanje veeg broja
Struktura sa grananjem
Isti problem se moe rijeiti
i pomou podalgoritma
Ulaz:
A, B
PA MAKS (A, B)
A>B
POETAK
NE
MAKS (A,B)
DA
ZAMJENA (A, B)
Izlaz:
A
POVRATAK
Algoritam sa podalgoritmom za odreivanje
veeg broja
KRAJ
Struktura sa grananjem
Algoritamske strukture mogu da sadre proizvoljan
broj simbola odluke i veliki broj grana.
Takve strukture e biti prikazane na primjeru
utvrivanja najvee vrijednosti za tri data broja.
Klasian pristup problema sastoji se u poreenju
svakog broja sa svakim.
Struktura sa
grananjem
POETAK
Ulaz:
A, B, C
DA
NE
A>B
DA
MAXA
A>C
Algoritam za odreivanje
maksimuma tri broja
klasino rjeenje
NE
DA
MAXC
MAXB
Izlaz:
A, B, C, MAX
KRAJ
B>C
NE
MAXC
Struktura sa
grananjem
Prvi od brojeva se
proglasi najveim
POETAK
Algoritam za odreivanje
maksimuma tri broja
sekvencijalno odluivanje
Ulaz:
A, B, C
MAXA
DA
B>MAX
Zatim se kroz dva
poreenja utvrdi
koji broj je zaista
vei
NE
C>MAX
MAXB
DA
NE
Izlaz:
A, B, C, MAX
KRAJ
MAXC
Struktura sa grananjem
Trei pristup je uzastopno
povezivanje ve realizovanog
podalgoritma za utvrivanje
veeg od dva broja.
POETAK
Ulaz:
A, B, C
MAKS (A, B)
U podalgoritmu e se
najvea vrijednost dodijeliti
prvoj od promjenljivih.
MAKS (A, C)
Izlaz:
A
KRAJ
Do While.
NE
USLOV
DA
Ulaz:
A(I)
Ulaz:
A(I), I=1,N
Uitavanje niza
POETAK
Ulaz:
N
Za odreivanje
maksimuma niza
brojeva najbolje je u
algoritmu iskoristiti ve
realizovan podalgoritam
za utvrivanje veeg od
dva broja.
Algoritam za odreivanje
maksimuma niza brojeva
Ulaz:
A(I),I=1,N
MAXA(1)
I=2,N
MAKS(MAX;A(I))
Izaz:
MAX
KRAJ
Suma niza:
ULAZ
N, A
Niz:
A = {a1, a2, a3, ..., aN}
= {ai}, i = 1, ..., N
A = {ai}, i = 1, ..., N
I=1
SUMA = 0
=
SUMA = SUMA + A(i)
I=I+1
NE
I>N
DA
IZLAZ
SUMA
KRAJ
Primjer:
ULAZ
N,M
n!
n
i i!(n i )!
I= 0
BIN = 1
n ni n
i 1 i 1 i
n
1
0
n
n
1
=
BIN = (N-I)/(I+1)*BIN
IZLAZ
N, M, BIN
I=I+1
<=
I:M
>
KRAJ
POETAK
Ulaz:
N, A(I),I=1,N
I=1, N-1
J=I+1,N
MAKS(A(I),A(J))
Ugnijedene cikline
strukture klasino sortiranje
Izaz:
A(I), I=1,N
KRAJ
for i=1:3
for j=i+1:4
if a(i)>a(j)
temp=a(i)
a(i)=a(j)
a(j)=temp
end
end
end
MODUL A
MODUL B
MODUL C
Struktura sa podalgoritmima
Veza izmeu algoritma i podalgoritma lista
ulazno-izlaznih parametara
stvarna lista parametara parametri koji se
prosljeuju podalgoritmu iz glavnog algoritma
formalna lista parametara lista parametara
pozvanog algoritma
Struktura sa podalgoritmima
POETAK
ULAZ
N, A
POETAK
A = {ai}, i = 1, ..., N
N - br. el. niza
I= 1
SUMA = 0
=
SUMA = SUMA + X(i)
SABIR(A, N, REZ)
I=I+1
IZLAZ
REZ
NE
I>M
DA
KRAJ
POVRATAK
SABIR(X, M, SUMA)
X = {xi}, i = 1, ..., M
M - br. el.
SUMA - suma niza
ALGORITAM SrednjaTemperatura
ULAZ: TEMP - niz realnih brojeva gde je TEMP[i] temperatura
izmjerena na i-tom mjernom mjestu
N - broj mjesta na kojima su oitavane temperature, N > 0
IZLAZ: SR_TEMP - realni broj, srednja vrijednost
izmjerenih temperatura
LOKALNE: i - cio broj, indeks mjernog mjesta (temperature)
SUMA - realni broj, suma izmjerenih temperatura
1. Prihvat N.
2. IF N 0 THEN idi na 1. korak ELSE idi na 3. korak.
3. Prihvat izmjerenih vrijednosti temperature u TEMP.
4. SUMA 0.
5. FOR i 1 TO N DO SUMA SUMA + TEMP[i] .
6. SR_TEMP SUMA / N.
7. Kraj.
Algoritam MinimalnaTemperatura
ULAZ: TEMP - niz ralnih brojeva gdje je TEMP[i]
temperatura izmjerena na i-tom mjernom mjestu
N-broj mjesta na kojima su oitavane temper., N>0
5. Kraj.
struktura 1
struktura 1
kraj strukture 1
kraj strukture 1
struktura 2
struktura 2
struktura 2.1
struktura 2.1.1
struktura 2.1
struktura 2.1.1
struktura 2.1.2
kraj strukture 2.1.1
Dobro strukturiranje
Loe strukturiranje
Podalgoritam i rekurzija
Za detaljnu specifikaciju modula koristi se
hijerarhijska struktura algoritama u kojoj se razlikuje
jedan glavni algoritam i skup njegovih
podalgoritama.
Podalgoritam je algoritam koji rjeava jedan aspekt
problema i biva angaovan (pokrenut, pozvan) od
strane glavnog algoritma ili drugog podalgoritma.
Podalgoritam1
Glavni algoritam
naredba A1
naredba A2
podalgoritam 1
naredba A4
naredba A5
podalgoritam 2
naredba A7
kraj
naredba B1
naredba B2
naredba B3
povratak
Podalgoritam2
Podalgoritam3
naredba C1
naredba C2
podalgoritam 3
naredba D1
naredba D2
naredba D3
naredba C4
povratak
naredba D4
povratak
Podalgoritam1
ul1A, ul1B,...
Glavni algoritam
naredba B1
naredba B2
naredba B3
povratak
naredba A1
naredba A2
podalgoritam 1
naredba A4
Podalgoritam2 Podalgoritam3
naredba A5 ul2A, ul2B,...
naredba C1 ul3A, ul3B,...
naredba D1
podalgoritam 2
naredba C2
naredba D2
naredba A7
podalgoritam 3
naredba D3
kraj
naredba C4
povratak
naredba D4
povratak
Podalgoritam1
naredba B1
naredba B2
naredba B3
povratak
Glavni algoritam
naredba A1
naredba A2
podalgoritam 1
naredba A4
naredba A5
podalgoritam 2
naredba A7
kraj
izl1A, izl1B,...
izl2A, izl2B,...
Podalgoritam2
Podalgoritam3
naredba C1
naredba C2
podalgoritam 3
naredba D1
naredba D2
naredba D3
naredba C4
povratak
naredba D4
povratak
izl3A, izl3B,...
Algoritam: SrednjaIMinimalnaTemperatura
ULAZ: TEMP - niz ralnih brojeva gdje je TEMP[i]
temperatura izmjerena na i-tom mjernom mjestu
N-broj mjesta na kojima su oitavane temper., N>0
SREDTEMP-realni broj, srednja vrijednost temperat.
MINTEMP-realni broj, minim. vrijednost temperat.
1. Podalgoritam UnosNiza(TEMP,N,100).
2. Podalgoritam SrednjaVrijednostNiza(TEMP,N,SREDTEMP).
3. Podalgoritam MinimalnaVrijednostNiza(TEMP,N,MINTEMP).
4. Prikai korisniku SREDTEMP, MINTEMP.
5. Kraj.
Algoritam: KonverzijaDekadnogUBinarni
LOKALNE: N-cio broj, dekadni broj koji treba
konvertovati, N0
1. REPEAT Prihvat od korisnika broja N UNTIL N 0
2. Podalgoritam KonvertujDekadniBroj(N,2).
3. Kraj.
Podalgoritam: KonvertujDekadniBroj(broj,baza)
ULAZ: broj cio broj, dekadni broj koji treba konvertovati
baza cio broj, baza odredinog brojnog sistema,
baza>0
Lokalne: kolinik cio broj, kolinik cjelobrojnog dijeljenja
ostatak cio broj, ostatak cjelobrojnog dijeljenja
1. kolinik kolinik od (broj/baza).
3. ostatakostatak od (broj/baza).
4. Prikai korisniku ostatak.
5. Povratak.
Matlab
Aritmetika operacija
Aritmetiki operator
Sabiranje
Oduzimanje
Mnoenje
Dijeljenje
Stepenovanje
2 ^3 ^2 = (23)2
ans =
64
Pokretanje MATLAB-a
ili
Funkcija
Pozivanje prethodne linije
Pozivanje naredne linije
Pomjeranje kursora ulijevo za jedan znak
Pomjeranje kursora udesno za jedan znak
Pomjeranje kursora ulijevo za jednu rije
Pomjeranje kursora udesno za jednu rije
Uvod u rad
Osnovni element sa kojim manipulie
MATLAB je pravougaona numerika matrica
iji elementi mogu biti i kompleksni brojevi.
Specijalni sluajevi pravougaone matrice su
matrice tipa 1x1 koje predstavljaju skalare, dok
su vektori matrice sa samo jednom vrstom ili
kolonom.
Unoenje podataka
Matrice se u MATLAB mogu unositi na
nekoliko naina:
direktnim unoenjem elemenata,
generisanjem pomou funkcija ili izraza
ugraenih u MATLAB,
definisanjem u M datoteci,
prenoenjem iz spoljne datoteke sa
podacima.
Definisanje promenljivih
Promenljive se definiu tako to im se dodijeli
vrijednost. Naziv promenljive je niz slova i cifara
koji mora poeti slovom, pri emu se velika i mala
slova razlikuju.
Slijedi primjer definicije matrice dimenzije 3 x 3:
A = [1 2 3; 4 5 6; 7 8 9]
A=
123
456
789
A = [1 2 3
456
7 8 9]
A=
123
456
789
x = 1:4
x=
1234
y = 1:0.5:3
y=
1.0000 1.5000 2.0000 2.5000 3.0000
A(2,2)
ans =
5
ili izrazom:
A(1:2:3, 2:3)
Vektori
Ve je reeno da matrice sa jednim stupcem ili
jedim retkom zovemo vektori.
Vektori se u Matlab unose na sljedei nain:
Vektori
>>b=[5;2;1]
b=
5
2
1
Vektori
ta dobijemo za a' i b'.
>>a'
ans= 2
5
6
>>b'
ans= 5 2 1
Sabiranje
C=A+B
C=
2 6 10
6 10 14
10 14 18
C=C2
C=
0 4 8
4 8 12
8 12 16
ans=
478
>>b-1
ans=
4
1
0
Mnoenje matrica
Operator * obuhvata i mnoenje matrice i
vektora, mnoenje dva vektora i mnoenje
matrice ili vektora skalarom.
Naredni primjeri ilustruju ove mogunosti
MATLAB-a.
x
=
[1
2
3];
D=A*B
E
=
D*x
D=
E
=
14 32 50
228
32 77 122
552
50 122 194
876
Mnoenje matrica
y = [4 5 6];
x*y
ans =
4 5 6
8 10 12
12 15 18
y*x
ans =
32
y*2
ans =
8 10 12
>>a*3
>>b*-2
ans=
-10
-4
-2
ans=
6 15 18
ans =
777
>>a'+b
ans =
7
7
7
Stepenovanje
Ako je A kvadratna matrica i x cio broj, tada izraz
A^x predstavlja x-ti matrini stepen od A. Ukoliko je
x realan broj, tada je A^x = V*D.^x/V, gdje operator
.^ predstavlja stepenovanje matrica element po
element, V je matrica desnih sopstvenih vektora, a D
dijagonalna matrica sopstvenih vrijednosti.
Slijedi primjer:
A = [1 2 3; 4 5 6; 7 8 9]
A^2
ans =
30 36 42
66 81 96
102 126 150
A .^ 2
ans =
1 4 9
16 25 36
49 64 81
IME
POKAZATELJ
POLOAJA
VRIJEDNOSTI
VRIJEDNOSTI
NIZOVI (POLJA)
Skup pojedinanih vrijednosti sa istim tipom
podatka nazivamo niz.
Moemo rei da niz ima isti tip kao elementi niza.
Pojedinani element niza identifikuje se pomou
indeksa. Ako elementi nekog niza posjeduju samo
jedan indeks, onda je rije o jednodimenzionom
nizu.
U MATLAB-u indeksi uvijek ine niz uzastopnih
prirodnih brojeva. U jednodimenzionog niza indeksi
su l, 2,..., i1max, gdje je i1max gornja granica.
Vrijednost broja
1.23e-l
.019E+4
-33.E-3
0.123
190.
-0.033
LOGIKE PROMENLJIVE
U MATLAB-u ne postoji osnovni tip podatka za
logike vrijednosti (tj. tip podatka za - memorisanje
logikih vrijednosti istinito i lano). Logike
vrijednosti simuliraju se ipak uz pomo tipa double.
Promjenljiva tipa double, koja tokom rada programa
uzima jedino vrijednosti 0 i 1, u MATLAB-u se
interpretira kao logika promjenljiva. Numerika
vrijednost 1 oznaava vrijednost istinitog iskaza, a
numerika vrijednost 0 lanog iskaza.
Broj bitova
int8
-128 (-27),-127,...,127(27-1)
uint8
int16
16
uint16
16
0, 1, ..., 65535(216-1)
int32
32
uint32
32
0, 1, ...
255(28-1)
txtvek =
DJORDJE
MARINA
MARKO
MATLAB - linije
vvcell={[24.
kom mtari
9. 79.] 'MARINA'
2.5}
vvcell =
vvcell(l)
ans =
[1x3 double]
MATLAB-a na
vvcell(1).
MATLAB - 1 nije
komentari
krug.radijus=5
krug =
radijus: 5
krug.centar je vektor-vrsta,
krug.boja je promenljiva tipa
krug.centar=[1. 0.5]
krug =
centar: [1 0.5000]
trenutno postoje.
krug.boja='plavo'
krug =
radijus: 5
centar: [1 0.5000]
boja: 'plavo'
MATLAB - 1 nije
komentari
krug.radijus=10
-Promijenjena je vrijednost
krug =
radijus: 10
centar: [1 0.5000]
boja: 'plavo'
krug.centar
ans =
1.0000
0.5000
krug.centar(l)
ans =
komponenta matrica.