You are on page 1of 16

1. Sta predstavljaju m dadoteke? Navedite vrste m dadoteka i razlike medju njima?

M dadoteke predstavljaju jednostavne tekstualne dadoteke u kojima su matlabove komande upisane


redoslijedom kojim trebaju da se izvrse. Postoje 2 vrste m dadoteka:

-skrtipte – one nemaju ulaznih i izlaznih argumenata

- Funkcije – mogu imati ulazne i izlazne argumente

2. Na koji nacin se mogu unijeti matrice u matlabu ? Navedite minimalno 3 matlabove funkcije za
generisanje matrice. Objasnite kakve se matrice dobivaju primjenom tih funkcija?

Matrice se mogu unijeti na nekoliko nacina :

-pojedinacnim unesenjem citave liste elemenata, ucitavanjem fajlova sa podacima i generisanjem


pomocu matlabovih funkcija ili posebno napravljenih m dadoteka. Funkcije za generisanje matrica u
matlabu su :

- zeros – matrica ciji su svi elementi nule

-ones – matrica ciji su svi elementi jedinice

- eye – jedinicna matrica

- rand – uniformno distribuirani slucajni elementi u intervalu od 0 do 1, itd.

3. Objasniti sintaksu kontrolne strukture if else u matlabu. Koji se tipovi operatora primjenjuju u
ovim strukturama?

Kontrolna struktura if else ima sl. oblik :

Iflogicki_izraz

Naredbe;

Else

Naredbe;

end

If iskaz provjerava logicku tacnost izraza koji je specificiran i u koliko je tacan izvrsava grupu komandi
koja slijedi. Svaka if naredba zavrsava se komandom end, a opcionalno mozemo upotrebljavati elseif i
else kljucne rijeci. Za definisanje logickog izraza koriste se relacijski i logicki operatori.

4. Napisati i objasniti sintaksu kontrolne strukture while u matlabu.

a=1;

while a<10

a=a*2;
end

Kontrolna struktura while ima zadatak da obezbjedi program da ponavlja izvrsavanje date grupe
naredbi sve dok je logicki uslov izvodjenja zadovoljen. Svaka while petlja zapocinje sa komandom
while i zavrsava sa komandom end. Uz komandu while mora se definisati logicki uslov koji odlucje da li
ce se izvrsavati blok naredbi unutar petlje.

5. Napisati i objasniti sintaksu kontrolne strukture for u matlabu .

for brojac=pocetak : korak : kraj

Naredbe;

end

Naredbe u okviru ove petlje ce se izvrsiti onoliko puta koliko je potrebno da brojac dodje od
vrijednosti pocetak do vrijednosti kraj sa vrijednoscu koraka korak. Ukoliko se korak izostavi
podrazumjeva se da ima vrijednost 1

6. Objasniti razliku izmedju operatora „˄“ i „.˄“?

To je operator stepenovanja, bez tacke je matricno stepenovanje, a sa tackom stepenovanje element


po element.

7. Koja je svrha komande clf ?

Brisanje slike iz aktivnog grafickog prozora

8. Kakva je svrha naredbe whose ?

Tom naredbom dobivamo listu svih varijabli koje se nalaze u radnom prostoru u prosirenom formatu (
informacije o dimenzijama , memoriji i klasi varijable )

9. Koja je svrha naredbe format ?

Tom narebom kontrolisemo nacin ispisa brojeva u komandnom prozoru

10. Objasnite razlike izmedju operatora „*“ i „.*“

* operator mnzoenja skalara ili matrica

.* operator mnozenja medju elementima matrica

11. Kakva je svrha komande clear?

Tom naredbom brisu se sve do tada unesene varijable iz radnog prostora

ZAOKRUZIVANJA TACNI ODGOVORI!!!

12. Znak „;“ na kraju komande napisane u matlabu u komandnom prozoru sprijecava ispis izvrsene
komande na ekranu
13. Komanda clc u matlabu cisti komandni prozor od svih predhodno otkucanih naredbi

14. Brisanje pojedinih elemenata, cijelih kolona ili redova matrice u matlabu vrsi se znak [] iza
oznake elemenata koje zelimo izbrisati

15. Objasniti svrhu operatora : sluze za formiranje niza brojeva izmedju granicnih vrijednosti sa
odredjenim korakom

16. Komentarisanje linija kod pisanja matlabovih m fajlova vrsi se na slijedeci nacin : stavljamo znak
% ispred svakog reda koji zelimo komentarisati

17. Naredbe operativnog sistema u komandnom prozoru matlaba dajemo pomocu znaka ! iza kojeg
slijedi naredba

18. Naredbom poly ([a1, a2, a3, a4]) u matlabu dobijamo koeficjente polinoma koji imaju nule u
tackama a1, a2, a3 i a4

ZNACENJA :

Zeros – svi elementi 0

Ones – svi elementi 1 Eye – jedinicna matrica (1 po dojagonali, ostalo 0 )

Rand – uniformno distribuirani slucaajni elementi u intervalu 0-1

Randn – elementi takvi da im je srednja vrijednost 0 a varijansa i devijacija 1

Round – za zaokruzivanje brojeva matrice na najblizu vecu vrijednost (npr. 3,6 = 4)

Fix – odsijeca sve iza decimalnog zareza (npr. 3,6=3)

Min – najmanji element iz kolona

1,end – prvi red posjednja kolona

End,1 – prva kolona i posljednji red

Sum – sabira elemente po kolonama

Prod – mnozenje elemenata matrice

Fliplr – rotira matricu oko njene ose

Rot90 – rotira matricu za 90 stepeni u suptornom smjeru kazaljke na satu

Roots – trazi rjesenje jednacine

` - transponuje zadatu kolonu u red

Dijag- izlistava elemente matrice po glavnoj dijagonali


 Biranjem odgovarajućih opcija u sklopu navigatora za pomoć imamo više načina da dodjemo
do željene informacije.

• Product filter pokazuje dokumentaciju samo za specificirane proizvode. Contents


prikazuje naslove i sadržaj dokumentacije.

• Index omogućuje pretragu preko odgovarajućih ključnih riječi u sadržaju


dokumentacije.

• Search traži željenu frazu unutar dokumentacije.

• Favorites daje listu dokumenata koje smo prethodno označili kao važne.

 Pomoć također možemo dobiti i korištenjem funkcija za pomoć. Ako želimo dobiti pomoć za
određenu funkciju, npr. funkciju det, unutar pretraživača za pomoć, u komandnom prozoru
otkucamo doc det.

 Za pomoć unutar komandnog prozora treba otkucati help det.


 Posmatrajmo ispis niza od dva broja x u različitim formatima:

>>x=[2/3,1.23e-6]

>>format short (Scaled fixed point format with 5 digits)

x=

0.6667 0.0000

>>format short e (Floating point format with 5 digits)

x=

6.6667e-001 1.2300e-006

>>format short g (Best of fixed or floating point format with 5 digits)

x=

0.66667 1.23e-006

>>format long (Scaled fixed point format with 15 digits.)

x=

0.66666666666667 0.00000123000000

>>format long e (Floating point format with 15 digits)

x=

6.666666666666666e-001 1.230000000000000e-006

>>format long g (Best of fixed or floating point format with 15 digits)

x=

0.666666666666667 1.23e-006

>>format bank (Fixed format for dollars and cents)

x=

0.67 0.00

>>format rat (Approximation by ratio of small integers)

x=

2/3 1/813008

>>format compact (izbacuje prazne linije između ispisivanih vrijednosti u komandnom prozoru, tako
da u vidljivi dio staje više podataka)
 Listu komandi i funkcija koje stoje na raspolaganju korisniku osnovnog MATLAB okruženja
(bez okruženja alata – toolbox-eva), u komandnom prozoru otkucajte help i riječ:

general - komande osnovne namjene,

ops - operatori i specijalni karakteri,

elfun - elementarne matematičke funkcije,

specfun - specijalizirane matematičke funkcije,

elmat - elementarne matrice i matrični račun,

funfun - funkcije nad funkcijama i osnovne diferencijalne jednačine,

polyfun - interpolacija i polinomi,

datafun - analiza podataka i Fourier-ova transformacija,

lang - komande programskog jezika,

timefun - funkcije datuma i vremena.

graph2d - dvodimenzionalni grafici,

graph3d - trodimenzionalni grafici,

graphics - rukovanje i operacije na graficima.


 Dijeljenje matrica

• Razlikuju se dvije vrste simbola:

/ - dijeljenje zdesna.

\ - dijeljenje slijeva.

• Ako je nesingularna kvadratna matrica, tada izraz X=A\B odgovara množenju matrice
B slijeva inverznom matricom A-1, tj. X=A-1*B.

• Izraz X=A/B odgovara množenju matrice A zdesna inverznom matricom B -1, tj. X=A*B-
1
.

• Korištenjem ovih operatora rezultat se dobije direktno i nije potrebno računati


inverznu matricu.

• Dijeljenje slijeva A\B definisano je samo u slučaju kada je broj vrsta matrice A i B isti.

• Za crtanje dvodimenzionalnih grafičkih prikaza koriste se naredbe plot, bar, stairs i stem.

• Naredba plot spaja susjedna točke grafičkog prikaza ravnom linijom.

• Bar daje stupčasti prikaz, dok se kod stairs prikaza dobije prikaz sličan rubno obrisu
stupčastog prikaza (bez tijela štapića točke povezane horizontalnim i vertikalnim linijama).

• Stem način prikaza svaki podatak prikazuje vertikalnom linijom čija dužina odgovara iznosu
podatka, a na vrhu linije se nalazi kružić.

• Sintaksa i opcije svih četiriju naredbi je ista pa će biti prikazana samo za naredbu plot.

• Naredba plot otvara novi grafički prozor i u njemu crta sliku. Ako je grafički prozor već
postojao, slika se crta u njemu.
 Označavanje kordinata sa odgovarajućim znakom vrši se na sljedeći način:

>> t = 0:pi/25:2*pi;

>> y1 = sin(t);

>> y2 = sin(t-0.25);

>> y3 = sin(t-0.5);

>> plot(t,y1,'o-',t,y2,'s--',t,y3,'d:')

 Crtanje na logaritamskoj umjesto na linearnoj skali postiže se primjenom funkcija semilogx,


semilogy ili loglog umjesto funkcije plot, uz istu sintaksu.

 Funkcija semilogx daje logaritamsku os apscise i linearnu ordinatu, funkcija semilogy daje
prikaz na logaritamskoj ordinati i linearnoj apscisi, dok funkcija loglog daje logaritamski prikaz
na obje osi.

 Primjer:

Nacrtati funkciju 1/(x3+x2+x+1) u logaritamskom dijagramu ako je x u granicama 0.1 do 10 sa


korakom 0.1.
 Izvršenjem naredbe

>> polyfit(x,y,2)

ans =

-0.5000 1.6210 2.4395

dobijamo koeficijente polinoma drgog reda koji najbolje aproksimira polinom y na intervalu
vrijednosti x-a metodom najmanjih kvadrata, odnosno to je y 2 = -0.5x2 + 1.621x+2.4395.

 Ukoliko bi željeli odrediti koeficijente polinoma koji prolazi kroz tačke (1,1), (2,4), (4,2) i (7,0)
to bi uradili na sljedeći način:

>> xp=[1 2 4 7];

>> yp=[1 4 2 0]; >> polyfit(xp,yp,3)

ans = 0.2333 -2.9667 10.2667 -6.5333


 Međutim, za programiranje potrebne su osim navedenih naredbi i naredbe odluke i
ponavljanja koje omogućuju stvaranje višestruko izvršavajući petlji i grananje unutar toka
izvođenja programa.

 Naredbe odluke imaju slijedeći oblik:

if logički_izraz

naredbe;

elseif logički_izraz

naredbe;

else

naredbe;

end

 Naredbe if, elseif, else i end predstavljaju ključne riječi naredbi odluke i odjeljuju blokove
naredbi koji se u pojedinom slučaju izvode.
 Primjer:

• Napraviti m-file funkciju koja će za unesene vrijednosti koeficijenata a, b i c riješiti


kvadratnu jednačinu ax2 + bx + c = 0 ukoliko ima realna rješenja, odnosno ispisati
poruku na ekranu ukoliko su rješenja kompleksna.

• Rješenje:

function rj=kvadratna_real(a,b,c)

% Realna rjesenja kvadratne jednacine ax^2+bx+c=0

if length(a)>1||length(b)>1||length(c)>1

rj='Koeficijenti kvadr. jedn. moraju biti skalarne vrijedn.!';

else

D=b^2-4*a*c;

if D >= 0
rj(1,1)=(-b-sqrt(D))/(2*a);

rj(2,1)=(-b+sqrt(D))/(2*a);

else

rj='Kvadr. jedn. zadatih parametara nema realnih rjes.!';

end

end

 M - file ovakvog sadržaja spasiti pod imenom kvadratna_real.m u radni direktorij.

 Primjer: Formirati matricu dimenzija (n x n) čiji elementi su neparni brojevi od 1 do 2n2-1. U


datoteku neparna_matrica.m unesite sljedeći sadržaj:

n= input ('Unesite dimenziju kvadratne matrice, n = ');

neparni=-1;

for j=1:n

for i=1:n

neparni=neparni+2;

A(i,j)=neparni;

end

end

Rješenje:
>> neparna_matrica

Unesite dimenziju kvadratne matrice, n = 4

A=

1 9 17 25

3 11 19 27

5 13 21 29

7 15 23 31

 Drug način ostvarenja petlje ponavljanja je naredbom while. Sintaksa naredbe je slijedeća:

while varijabla

naredbe;

end

 Petlja se izvršava sve dok je vrijednost varijable različita od nule, tj. logička jedinica.

 Naredbom continue prekidamo izvršenje naredbi unutar petlje i prebacujemo se na iduću


vrijednost brojača, dok naredbom break potpuno prekidamo izvršenje naredbi unutar petlje i
izlazimo iz nje.

 M-file polinom koji crta kroz zeljene tacke


Animacija kosog hica
Napraviti m-file funkciju sa parametrima a, b i c koji su predstavljaju koeficijente jednačine
ax5 + bx3 + cx = 0, a rezultat izvršenja funkcije su nule tog polinoma. (5 bodova)
function rj=nule_jed(a,b,c)
% Korijeni jednacine ax^5+bx^3+cx=0
if length(a)>1||length(b)>1||length(c)>1
rj='Koeficijenti jedn. moraju biti skalarne vrijedn.!';
else
if (a~=0&b~=0&c~=0)
rj=roots([a,0,b,0,c,0]);
else
rj='Jenacina nema oblik ax^5+bx^3+cx=0!';
end

end

You might also like