Professional Documents
Culture Documents
Kratke Upute Za Korištenje Matlab-A
Kratke Upute Za Korištenje Matlab-A
Sadraj
1. O MATLAB-u ..............................................................................2
2. Osnovne mogunosti MATLAB-a ......................................................2
2.1. Ugraena pomo i neke napredne funkcije ljuske ..................................... 7
2.2. Osnovne operacije .......................................................................... 8
2.2.1. Osnovne matematike operacije .................................................... 8
2.2.2. Operacije po elementima ........................................................... 10
2.2.3. Relacijski operatori................................................................... 10
2.3. Posebne matrice............................................................................ 11
2.4. Operacije nad matricama................................................................. 12
3. Prikaz rezultata........................................................................ 14
4. Spremanje i uitavanje podataka .................................................. 17
5. Simbolika matematika .............................................................. 18
6. Programiranje u MATLAB-u.......................................................... 20
6.1. Jednostavni MATLAB program ............................................................ 20
6.2. Prenoenje argumenata ................................................................... 21
6.3. Kontrola toka programa ................................................................... 22
6.4. Kreiranje vlastitih MATLAB programa i skripti......................................... 24
6.5. Napredne mogunosti ugraenog editora .............................................. 25
6.5.1. Prekidanje izvravanja programa .................................................. 25
6.5.2. Rad s kodom ........................................................................... 26
6.5.3. M-Lint ................................................................................... 27
6.6. Programiranje u C ili C++ jeziku ......................................................... 27
7. O Simulinku ............................................................................. 30
7.1. Simulacija jednostavnih sustava ......................................................... 32
7.2. Povezivanje s MATLAB-om ................................................................ 34
7.3. Izrada funkcijskih blokova ................................................................ 35
8. Literatura ............................................................................... 36
2
5
3
6
B = [1, 2; 3, 4; 5, 6] <ENT>
B =
1
3
5
2
4
6
Toka-zarez (;) razdvaja retke matrice, a razmak ili zarez elemente istog
retka. Alternativni nain unosa istih matrica je:
A=[1 2 3 <ENT>
4 5 6]; <ENT>
B = [1, 2 <ENT>
3, 4 <ENT>
5, 6] ; <ENT>
Bytes
2x3
3x2
1x1
48
48
8
Class
double array
double array
double array
Ispis sadraja postojee varijable postie se unosom njenog imena (bez ;):
A <ENT>
A =
1
4
2
5
3
6
clear B <ENT>
clear <ENT>
Ponekad elimo zadati niz brojeva. Jednoliko rastui niz brojeva mogue je
zadati odjednom pomou operatora dvotoke:
RastuciNiz = [1 : 0.1 : 1.6] <ENT>
RastuciNiz =
1.0000
1.1000
1.2000
1.3000
1.4000
1.5000
1.6000
Prvi broj u uglatoj zagradi (1) je poetna vrijednost, drugi je korak (0.1), a
trei zavrna vrijednost (1.6). Operator dvotoka zadaje raspon vrijednosti, od
poetne do zavrne. Negativna vrijednost koraka rezultirala bi padajuim nizom
brojeva. Ako korak nije naveden, podrazumijeva se vrijednost 1:
t = [1:10] <ENT>
t =
10
2
5
3
6
% ispis elementa matrice A u drugom retku i treem stupcu
A(2,3) <ENT>
ans =
6
C =
6
C = A(:,3) <ENT>
C =
3
6
C = A(2,:) <ENT>
C =
4
Operator dvotoka bez zadanog raspona daje sve elemente neko stupca ili
retka. No raspon moe biti i zadan tako da na jednostavan nain moemo
odabrati neku podmatricu matrice. Moemo na primjer spremiti elemente
matrice A koji su u drugom retku od drugog do treeg stupca u matricu D na
slijedei nain:
D = A(2,2:3) <ENT>
D =
5
z = 3 + 4 * i <ENT>
z =
3.0000 + 4.0000i
z = 3 + 4 * j <ENT>
z =
3.0000 + 4.0000i
z = 3 + 4 * sqrt(-1) <ENT>
z =
3.0000 + 4.0000i
z=5*exp(i*0.927295218) <ENT>
z =
3.0000 + 4.0000i
2.0000 + 6.0000i
4.0000 + 8.0000i
A <ENT>
A =
1
4
2
5
3
6
% raunamo korijen svakog elementa iz A
sqrt(A) <ENT>
ans =
1.0000
2.0000
1.4142
2.2361
1.7321
2.4495
help
help
help
help
help
help
ops
mldivide
mrdivide
inv
ime_naredbe
Ako nas zanima funkcija cos pomo moemo dobiti naredbom help:
help cos <ENT>
COS
Cosine.
COS(X) is the cosine of the elements of X.
Overloaded methods
help sym/cos.m
imagem
imagesc
imageview
C =
28
64
D = [4 5 6; 1 2 3]; <ENT>
S = A + D <ENT>
Od inaice 7 MATLAB odmah otvara interaktivnu listu moguih naredbi ako postoji vie moguih
zavretaka.
S =
5
5
7
7
9
9
4
10
6
12
4
7
5
8
% to odgovara izrazu
% je isto to i
10
18
z =
32
z = x' * y <ENT>
z =
4
8
12
5
10
15
6
12
18
tt = x .^ y <ENT>
tt =
1 32 729
tt = x .^ 2 <ENT>
tt =
1 4 9
a
a
a
a
a
a
< b
<= b
> b
>= b
== b
~= b
% manje
% manje ili jednako
% vee
% vee ili jednako
% jednako
% nije jednako
Rezultat relacijskog operatora je 0 ako uvjet nije zadovoljen ili 1 ako jest.
b = 123 > 11 <ENT>
10
b=
1
b ~= b <ENT>
ans=
0
a & b
a | b
a ~ b
0
1
1
1
B & C <ENT>
ans =
1
1
0
1
1
1
B && C <ENT>
% operator je definiran samo za skalarne vrijednosti
??? Operands to the || and && operators must be convertible to logical
scalar values.
1
1
1
1
1
1
11
A = ones(2,3) <ENT>
A =
1
1
1
1
1
1
% daje redak od 3 elementa vrijednosti 1.2
A = 1.2*ones(1, 3) <ENT>
A =
1.2000
1.2000
1.2000
0
1
0
0
0
1
-0.4161
0.2837
-0.9900
0.9602
12
20.0855
54.5982
expm(A) <ENT>
% dok se matrina eksponencijala primjenjuje na matricu
ans =
51.9690
112.1048
74.7366
164.0738
No kako pronai najvei element u matrici ako ona ima vie stupaca? Jedna
od mogunosti je uzastopna primjena naredbe max, no mogue je odrediti
maksimalni element i koritenjem naredbe reshape ili koritenjem dvotoke:
max(max(A)) <ENT>
ans =
6
max(reshape(A,1,prod(size(A)))) <ENT>
ans =
6
max(A(:)) <ENT>
ans =
6
Naime, naredba max i sve sline naredbe operiraju na stupcima osim ako se
radi o vektoru, odnosno takve naredbe ne razlikuju vektor-retke ili vektorstupce. Nadalje, za viedimenzionalne matrice naredbe operiraju uzdu zadnje
13
3. Prikaz rezultata
Osnovna MATLAB ljuska nije pogodna za grafiki prikaz rezultata. Da bi
mogli grafiki prikazati rezultate moramo otvoriti novi prozor za njihov prikaz
to se postie naredbom figure.
figure <ENT>
h =
3
Ako koristimo naredbu plot ili bilo koju naredbu za crtanje te ako ne
postoji aktivni grafiki prozor MATLAB e otvoriti jedan.
Naredba plot(x) crta vektor x na taj nain da se na x-osi nalaze indeksi
vektora x, a na y-osi nalaze vrijednosti vektora. Na samom prikazu naredba
plot zadane toke oblika (indeks, vrijednost vektora za indeks) spaja
pravcima. Ako ne elimo spajati toke pravcima moemo koristiti sljedee:
plot(x,'o'); <ENT>
stem(x); <ENT>
stairs(x); <ENT>
14
MATLAB funkcija plot moe se koristiti i za crtanje matrica. Pri tome isto
kao i za naredbu max matrica se promatra po stupcima, tj. pretpostavlja se da
svaki stupac predstavlja pojedinani signal.
y = [1 2 3 <ENT>
4 5 6 <ENT>
7 8 9 <ENT>
10 11 12]; <ENT>
plot(y) <ENT>
15
t = [1:0.01:10]; <ENT>
x = sin(2*pi*t); <ENT>
plot(t,x) <ENT>
hold on <ENT>
% ukljuujemo crtanje preko postojeeg
plot(t, t) <ENT>
hold off <ENT>
% iskljuujemo crtanje preko postojeeg
16
3x3
3x3
1x1
72
72
8
double array
double array
double array
save <ENT>
Saving to: matlab.mat
load <ENT>
Loading from: matlab.mat
3x3
3x3
72
72
double array
double array
Nekad osim samog spremanja varijabli elimo imati biljeke svega to smo
napravili tijekom interaktivnog rada s MATLAB-om. U tu svrhu se koristi naredba
diary:
diary moj_rad <ENT>
whos <ENT>
Name
Size
A
B
a
3x3
3x3
1x1
Class
double array
double array
double array
17
5. Simbolika matematika
Jedan od mnogih programskih paketa/modula unutar MATLAB-a podrava
simboliku matematiku. Njegove mogunosti moete pogledati naredbom help
symbolic, dok naredba symintro daje kratki uvod s primjerima.
Osim numerikih varijabli koje smo ve upoznali MATLAB sa simbolikim
paketom podrava simbolike varijable:
lambda = sym('lambda') <ENT>
lambda =
lambda
whos
Name
A
a
lambda
Size
Bytes
3x3
1x1
1x1
72
8
136
Class
double array
double array
sym object
Svaki simboliki objekt moe imati i dodatna svojstva koja se odreuju kod
deklaracije varijable:
x = sym('x'); <ENT>
x = sym('x','real'); <ENT>
Ako nam dodatna svojstva nisu bitna naredbom syms moemo odmah
definirati vie simbolikih varijabli:
syms x y z <ENT>
-4*i,
3+3*i]
lambda+6+i,
-3-3*i]
-4*i, lambda+6+3*i]
18
lambda^3+15*lambda^2+81*lambda+135
KarakVrijednosti = solve(KarakPolinom) <ENT>
KarakVrijednosti =
[
-3]
[ -6+3*i]
[ -6-3*i]
% simbolike varijable a i x
% definiramo simboliku funkciju f(x)
f =
sin(a*x)
diff(f) <ENT>
% derivacija funkcije po x
ans =
cos(a*x)*a
int(f) <ENT>
ans =
-cos(a*x)/a
syms Donja Gornja <ENT>
int(f, Donja, Gornja) <ENT>
ans =
-cos(Gornja*a)/a+cos(Donja*a)/a
ans =
a*x-1/6*a^3*x^3+1/120*a^5*x^5
ans =
a/(s^2+a^2)
19
sym('2*x^2+5*x+54') <ENT>
ans =
2*x^2+5*x+54
ezplot(ans,[-100,100]) <ENT>
subs(ans,'x',5) <ENT>
ans =
129
6. Programiranje u MATLAB-u
6.1. Jednostavni MATLAB program
MATLAB je potpun programski jezik u kojem je mogue napisati vlastite
programske odsjeke. Pojedine naredbe mogue je izvriti uvjetno ili ponoviti
vie puta.
Pomou ugraenih funkcija i programskih paketa mogue je graditi nove
programe. Svaki skup MATLAB naredbi napisan koritenjem bilo kojeg tekst
editora koji je pohranjen u datoteci s nastavkom .m predstavlja jedan MATLAB
program. Dakle, svi MATLAB programi se spremaju u obine tekstualne datoteke
a najjednostavnije ih je pisati koritenjem ugraenog editora koji se poziva
naredbom edit.
edit <ENT>
20
pokretanje
funkcije
dodavanje
toke
prekida
otvorene
datoteke
function hello
% HELLO - Jednostavan MATLAB program.
3.
4.
5.
function c = zbroji(a, b)
% ZBROJI - Zbrajanje dva broja
3.
4.
5.
6.
7.
8.
9.
% Kod programa.
21
10.
c = a + b;
ans =
6
Kada smo pozvali funkciju zbroji bez argumenata MATLAB je ispisao nau
poruku o pogreci (esta linija koda). Od pete do sedme linije koda ispitujemo
koliki je broj ulaznih argumenata pomou funkcije nargin, te u sluaju da
nemamo dva ulazna argumenta ispisujemo poruku o pogreci. ee umjesto
poruke o pogreci neprenesenim varijablama pridruimo neku predefiniranu
vrijednost. U na program za zbrajanje bi mogli dodati slijedeu provjeru:
1.
2.
3.
4.
5.
6.
7.
8.
9.
22
1.
2.
3.
for i = X
disp(i);
end
for i = [1 2 5 7]
disp(i);
end
a = zeros(1,10);
for i = 1:0.5:10
a(i) = i*i -3;
end
% inicijaliziraj vektor a
% za svaki i od 1 do 10 s korakom 0.5
% na i-to mjesto vektora a ubaci vrijednost i*i-3
% kraj for petlje
i = 7;
while (i >= 0)
if (a(i) ~= 5)
a(i) = a(i) - 3;
else
a(i) = 127;
end
i = i - 1;
end
% inicijaliziraj varijablu i
% dok je i vei ili jednak 0 ponavljaj
%
ako a(i) nije jednako 5
%
tada a(i) smanji za tri
%
inae
%
u a(i) spremi 127
%
kraj if naredbe
%
smanji i za 1
% kraj while petlje
i = 7;
while (i >= 0)
if (i > 10)
break
end
end
% ako je i vei od 10
%
bezuvjetno prekini petlju
% kraj if naredbe
if a == b
c = a + b;
elseif abs(a) == b
c = a - b;
else
c = 0;
end
a = 10;
switch a
case a < 9
disp('Broj je manji od devet.');
case a > 10
disp('Broj je vei od deset');
otherwise
disp('estitamo! Osvojili ste Bingo!');
end
23
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
n=[0 1 2 3 4 5 6 7 8 9];
m=[0:0.1:12];
figure, plot(m,besselj(n',m)), grid;
set(gca,'FontName','Times');
xlabel('\sl m'), ylabel('\sl J_n(m)');
title('Besselove funkcije prve vrste,'...
'reda \sl n \rm varijable \sl m');
print -deps besselm.eps;
11.
12.
13.
14.
15.
16.
17.
18.
19.
n=[0:0.1:12];
m=[1 2 3 4 5 6 7];
figure, plot(n,besselj(n',m)), grid;
set(gca,'FontName','Times');
xlabel('\sl n'), ylabel('\sl J_n\rm(\sl m\rm)');
title('Besselove funkcije prve vrste,'...
'reda \sl n \rm varijable \sl m');
print -deps besseln.eps;
5.
6.
% autor, datum
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
% Tijelo funkcije
24
21.
22.
23.
24.
25.
26.
27.
function tic
%TIC Start a stopwatch timer.
%
The sequence of commands
%
TIC, operation, TOC
%
prints the time required for the operation.
%
%
See also TOC, CLOCK, ETIME, CPUTIME.
%
%
function c = zbroji(a, b)
% ZBROJI - Zbrajanje dva broja.
3.
4.
c = A + b;
zbroji(2, 3) <ENT>
25
1x1
1x1
8
8
double array
double array
K A = a; <ENT>
K c = A + b; <ENT>
K dbcont <ENT>
26
izvravanje
aktivnog
bloka
brzi
odlazak na
neki blok
osjenani
dio je
trenutno
aktivni blok
otvorene
datoteke
6.5.3. M-Lint
M-Lint je alat koji provjerava kod te identificira mogue probleme kod
prenosivosti te nain upotrebe varijabli i elemenata programskog jezika.
Rezultat analize je detaljni izvjetaj u kojem su nabrojani mogui problemi s
kodom. Alat je dostupan iz izbornika ugraenog editora ako odaberemo stavku
ToolsSave and Check Code with M-Lint.
#include <mex.h>
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
if (0 != nrhs)
{
mexPrintf("Imamo %d ulaznih parametara.\n", nrhs);
}
/* if */
14.
15.
if (0 != nlhs)
27
16.
17.
18.
19.
20.
return;
21.
22.
23.
24.
}
/* mexFunction */
hello
primjer
zbroji
hello <ENT>
Hello MATLAB!
hello(a, b, c, d, e) <ENT>
Hello MATLAB!
Imamo 5 ulaznih parametara.
#include <mex.h>
2.
3.
4.
5.
6.
7.
8.
28
9.
10.
11.
12.
mxArray *y;
int ndy, *dimy;
13.
14.
int i;
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
x2 = prhs[1];
nex2 = mxGetNumberOfElements(x2);
px2 = (double *)mxGetData(x2);
27.
28.
29.
30.
31.
32.
33.
if (nex1 != nex2)
{
mexErrMsgTxt("Matrice nemaju jednak broj elemenata.\n");
return;
}
/* if */
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
plhs[0] = y;
nlhs = 1;
48.
49.
py = (double *)mxGetData(y);
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
}
/* mexFunction */
29
2
5
3
6
% definiramo matricu B
B = [1 1; 1 1; 1 1] <ENT>
B =
1
1
1
1
1
1
% raunamo razliku po elementima
% naa funkcija je definirana jer
% traimo samo da matrice A i B imaju
% jednaki broj elemenata
razlika(A, B) <ENT>
ans =
0
3
1
4
2
5
1
4
2
5
elimo li koristiti C++ jezik moramo imati neki C++ prevodioc jer se MATLAB
isporuuje samo s LCC-om koji ne podrava C++. Nadalje je potrebno dodati
extern void _main(); liniju prije poziva ulazne procedure mexFunction.
7. O Simulinku
Simulink je dio MATLAB-a namijenjen simuliranju dinamikih sustava. Za
sam unos i opis sustava koji se simulira koristi se jednostavno grafiko suelje u
kojem sastavljamo/crtamo model kombinirajui gotove komponente. Takvim
pristupom je simulacija sustava znaajno olakana jer se od korisnika ne
zahtijeva unos diferencijalnih ili diferencijskih jednadbi koje opisuju sustav uz
poznavanje MATLAB programskog jezika ve je dovoljno znati blok-shemu
sustava.
Simulink se pokree unutar MATLAB-a zadavanjem naredbe simulink ili
odabirom ikone iz alatne trake. Nakon pokretanja Simulinka otvara se prozor
Simulink Library Browser prikazan na slici.
30
novi
model
kratki opis
odabranog
elementa
izbor
biblioteke
izbor
elementa
izbor
kategorije
izlazni
prikljuak
toka
ravanja
ulazni
prikljuak
(spoj)
izvor
signala
blok
element
za prikaz
odziva
odspojena
veza
31
pokretanje
simulacije
element za
prikaz odziva
32
optimalni
prikaz signala
(automatski
odabir skale)
poetno
vrijeme
konano
vrijeme
poetno
vrijeme
konano
vrijeme
vrsta
simulacije
(postupak
numerike
integracije za
kontinuirane
sustave)
zahtjevi na
korak
integracije
33
izlazni prikljuak
(izlaz simulacije se
sprema u varijable
yout i tout)
spremanje u
datoteku
untitled.m
generator
signala
spremanje u
varijablu
simout
whos <ENT>
Name
simout
tout
yout
Size
Bytes
1x1
51x1
51x1
1202
408
408
Class
struct array
double array
double array
Size
Bytes
ans
2x51
816
Class
double array
34
ulaz u novi
podsustav
izlaz iz novog
podsustava
sve elemente
koji ine novi
podsustav smo
grupirali
Najprije crtamo eljeni sustav koji e nam predstavljati jedan blok. Pri
tome odreene ulaze i izlaze elemenata ne spajamo jer e oni postati novi ulazi
i izlazi iz zamiljenog funkcijskog bloka. Sada grupiramo elemente koji ine na
podsustav te odabiremo EditCreate Subsystem. Dobivamo novi blok koji
ima onoliko ulaza i izlaza koliko smo ih ostavili odspojenima. Oznaimo li blok te
odaberemo EditLook Under Mask moemo pogledati kako je sloen
podsustav.
Sva svojstva takvog sustava, izgled maske i kratki opis za korisnika moemo
mijenjati odaberemo li EditEdit Mask opciju. U novom dijalogu sada
postavljamo sve parametre vezane za podsustav.
35
ulazni prikljuak
izlazni prikljuak
(u sluaju vie izlaznih
prikljuaka obratite
panju na broj
prikljuka)
odabir svojstva
kojeg mijenjamo
parametri bloka
konani
izgled
bloka
8. Literatura
1. Getting Started with MATLAB version 7., The MathWorks, oujak 2005.
2. Getting Started with MATLAB version 6., The MathWorks, srpanj 2002.
3. Getting Started with MATLAB version 5, 2. izdanje, The MathWorks,
svibanj 1997.
4. Adrian Biran, Moshe Breiner, MATLAB 5 for Engineers, 2. izdanje,
Addison-Wesley, 1999.
36
Popis naredbi
Ovaj dio sadri popis ee koritenih MATLAB funkcija. Popis sadri
funkcije grupirane u skupine. Detalji o svakoj funkciji mogu se pronai koristei
ugraenu pomo.
Ope funkcije
help
demo
who
what
size
length
clear
^C
pack
quit
exit
why
ugraena pomo
demonstracija mogunosti MATLAB-a
popis definiranih varijabli
popis M-datoteka u radnom direktoriju
veliina neke varijable (broj stupaca i redaka matrice)
duljina vektora
brisanje varijabli
prekidanje izvrenja programa
ienje radne memorije unutar MATLAB-a
izlaz iz MATLAB-a
izlaz iz MATLAB-a
odgovor na gotovo svako pitanje
Matematike operacije
+
*
/
\
^
'
zbrajanje
oduzimanje
mnoenje matrica
desno dijeljenje
lijevo dijeljenje
potencija matrice
Hermitsko konjugiranje
+
.*
./
.\
.^
.'
zbrajanje
oduzimanje
mnoenje lan-po-lan
desno dijeljenje lan-po-lan
lijevo dijeljenje lan-po-lan
potenciranje svakog lana
transponiranje
&
I
~
&&
||
manje od
manje ili jednako
vee od
vee ili jednako
jednako
razliito
37
Posebni znakovi
=
[
]
{
}
(
)
.
...
,
;
%
:
!
38
Crtanje
plot
plot3
stem
loglog
semilogx
semilogy
polar
mesh
surf
shading
contour
meshgrid
Oznaavanje crtea
title
xlabel
ylabel
zlabel
grid
text
gtext
line
ginput
dodavanje naslova
oznaka X-osi
oznaka Y-osi
oznaka Z-osi
crtanje koordinatne mree
dodavanje teksta u crte
dodavanje teksta u crte pomou mia
dodavanje linije u crte
unos koordinata pomou mia
postavljanje gledita
odreivanje intervala koordinatnih osi
stvaranje koordinatnih osi
zadravanje nacrtanog prilikom crtanja (docrtavanje)
ini trenutni aktivni prozor postaje vidljiv
brie sadraj aktivnog prozora
dijeli grafiki prozor u dijelove
otvara novi prozor za crtanje
zatvara aktivni prozor za crtanje
vraa broj pridruen aktivnom paru koordinatnih osi
vraa broj pridruen aktivnom prozoru
dohvaa svojstva nekog grafikog objekta
mijenja svojstva nekog grafikog objekta
vraa poetna svojstva nekog grafikog objekta
39
Rad s datotekama
pwd
cd
dir
ls
delete
diary
load
save
type
what
which
edit
fprintf
imread
imwrite
wavread
wavwrite
40
Trigonometrijske funkcije
sin
cos
tan
asin
acos
atan
atan2
sinh
cosh
tanh
asinh
acosh
atanh
sinus
kosinus
tangens
arkus sinus
arkus kosinus
arkus tangens
kut kompleksnog broja
sinus hiperbolni
kosinus hiperbolni
tangens hiperbolni
arkus sinus hiperbolni
arkus kosinus hiperbolni
arkus tangens hiperbolni
apsolutna vrijednost
kut kompleksnog broja
kvadratni korijen
realni dio kompleksnog broja
imaginarni dio kompleksnog broja
konjugiranje
zaokruivanje prema najbliem cijelom broju
zaokruivanje prema nuli
zaokruivanje prema minus beskonanosti
zaokruivanje prema plus beskonanosti
predznak
ostatak pri dijeljenju
ostatak pri dijeljenju (s predznakom)
eksponencijalna funkcija s bazom e
prirodni logaritam
dekadski logaritam
Polinomi
poly
roots
polyval
polyvalm
conv
deconv
residue
polyfit
karakteristini polinom
nule polinoma
raunanje vrijednosti polinoma u toki
raunanje vrijednosti matrinog polinoma
mnoenje polinoma
dijeljenje polinoma
rastavljanje u parcijalne razlomke
odreivanje interpolacijskog polinoma
41
Rukovanje matricama
rot90
fliplr
flipud
flipdim
diag
tril
triu
reshape
.'
:
rotacija matrice
zrcaljenje matrice lijevo-desno
zrcaljenje matrice gore-dolje
zrcaljenje u zadanoj dimenziji
glavna dijagonala matrice
donji trokutasti dio
gornji trokutasti dio
promjena dimenzija matrice
transpozicija
pretvaranje matrice u vektor
matrina eksponencijala
matrini logaritam
matrini kvadratni korijen
karakteristini polinom
rang matrice
determinanta
trag
pretvaranje kompleksne-dijagonale u realnu-dijagonalu
vlastite vrijednosti i vlastiti vektori
nul-potprostor
ortogonalizacija
inverzna matrica (za kvadratne matrice)
pseudoinverzna matrica
LU dekompozicija
maksimalna vrijednost
minimalna vrijednost
srednja vrijednost
medijan
standardna devijacija
sortiranje
zbroj elemenata po stupcima
umnoak elemenata po stupcima
kumulativni zbroj po stupcima
kumulativni umnoak po stupcima
diferencija po stupcima
histogram
koeficijent korelacije
kovarijanca
42
Obrada signala
sinc
diric
abs
angle
phase
conv
xcorr
xcov
deconv
freqs
freqz
fft
fft2
fftn
ifft
ifft2
ifftn
fftshift
dct
idct
psd
specgrm
decimate
interp
sin(pi*x)/(pi*x) funkcija
periodina sinc funkcija
apsolutna vrijednost
kut kompleksnog broja
faza kompleksnog niza (bez premotavanja)
konvolucija
korelacija
kovarijanca
dekonvolucija
frekvencijska karakteristika kontinuiranog sustava
frekvencijska karakteristika diskretnog sustava
brza Fourierova transformacija (FFT)
2D FFT
N-dimenzionalna FFT
inverzna FFT
inverzna 2D FFT
inverzna N-dimenzionalna FFT
zamjena kvadranata unutar matrice
diskretna kosinusna transformacija
inverzna diskretna kosinusna transformacija
gustoa spektra snage
spektrogram
decimacija diskretnog niza
interpolacija diskretnog niza
43