| POČETNA STRANICA | SURADNICI | PROJEKTI | NASTAVA |
 
Vježba 2: Matrice
Matlab je interaktivni program za znanstvene i inženjerske 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.
Matrice

Matricu unosimo u Matlab naredbom:

>>A=[3 2 4;1 5 0]

A =

3 2 4

1 5 0

Element u drugom retku, drugom stupcu možemo dobiti naredbom

>>A(2,2)

ans =

5

Cijeli stupac ili redak možemo dobiti upotrebom operatora dvotočka:

>>A(1,:)

ans =

3 2 4

>>A(:,3)

ans =

4
0

Naredba size daje nam dimenzije matrice

>>size(A)

ans =

2 3

Osnovne operacije s matricama

>>A=[2 1;3 4]

A =

2 1
3 4

>>B=[ 2 3; 3 1/2]

B =

2.0000 3.0000
3.0000 0.5000

Zbrajanje matrica+A+Bans=
4.00004.0000
6.00004.5000
Oduzimanje matrica-A-Bans=
0-2.0000
03.5000
Množenje matrica*A*Bans=
7.00006.5000
18.000011.0000
Desno dijeljenje matrica/A/Bans=
0.25000.5000
1.31250.1250
Lijevo dijeljenje matrica\A\Bans=
1.00002.3000
0-1.6000
Potenciranje matrica^A^Bans=
76
1819
Transponiranje matrica'A'ans=
23
14
Množenje elemenata dviju matrica član po član.*A.*Bans=
43
92
Desno dijeljenje elemenata dviju matrica član po član./A./Bans=
1.00000.3333
1.00008.0000
Lijevo dijeljenje elemenata dviju matrica član po član.\A.\Bans=
1.00003.0000
1.00000.1250
Potenciranje elemenata dviju matrica član po član.^A.^Bans=
41
272


Posebne matrice

Jediničnu matricu stvaramo naredbom eye:

>>eye(3)

ans =

1 0 0
0 1 0
0 0 1
Nul-matricu generiramo naredbom zeros:

>>zeros(3)

ans =
0 0 0
0 0 0
0 0 0


Matricu punu jedinica stvaramo naredbom ones:

>>ones(3)

ans =

1 1 1
1 1 1
1 1 1


Slučajnu matricu generiramo pomoću funkcije rand:

>>A=fix(rand(3)*10)

A =

4 2 0
8 6 6
5 8 3


Osnovne matrične funkcije:

diag(A) – vraća vektor čiji su elementi dijagonalni elementi matrice A

>>diag(A)

ans =

4
6
3


Provjeriti šro je diag(diag(A)).

rank(A) – računa rang matrice A
>>rank(A)
ans =
3

sum(A) – vraća vektor čiji su elementi sume stupaca matrice A

>>sum(A)

ans =

17 16 9

prod(A) - vraća vektor čiji su elementi umnošci elemenata stupaca matrice A

>> prod(A)

ans =

160 96 0

det(A) – računa determinatnu matrice:

>> det(A)

ans =

-108
inv(A) – računa inverznu matricu matrice A

>> inv(A)

ans =

0.2778 0.0556 -0.1111
-0.0556 -0.1111 0.2222
-0.3148 0.2037 -0.0741


Stapanje matrica

Često je potrebno iz manjih matrica napraviti veće. Npr, iz matrica i želimo dobiti matricu .

>>A=[1 3;2 4]

A =
1 3
2 4


>>B=[0;5]

B =

0
5


>>C=[A B]

C =

1 3 0
2 4 5


Zadaci

a) Izračunati u Matlabu vrijednost tražene funkcije za zadani x:
f(x)=(x+1)0.5 , x=5
f(x)=(x+1)1/3 , x=6
f(x)=1/(4-x2) , x=7
f(x)=sqrt(x2-2) , x=8
f(x)=(-cos(x)/(3*sin2(x)))+4/3*ctg(x) , x=14


b) Napisati naredbe u Matlabu koje rade slijedeće:

1. Kreirati jednostupčanu matricu A s elementima –10, -8, -6, ..., 6, 8, 10.
2. Kreirati vektor B čiji su elementi kosinusi ekvivalentnih elemenata vektora A
3. Kreirati vektor C čiji su elementi redom umnošci ekvivalentnih elemenata vektora A i B
4. Kreirati matricu D čiji će stupci biti redom vektori A, B i C
5. Kreirati matricu E čiji su reci redom 2., 5., 10. i 8. redak matrice D


c) Napisati naredbe u Matlabu koje rade slijedeće:
1. Kreirati jednorednu matricu A s 10 elemenata od 0 do 4 (funkcija linspace)
2. Kreirati jednorednu matricu B s elementima 1..10.
3. Kreirati vektor C čiji su elementi vrijednost funkcije f(x,y)=2x-3y, ukoliko za varijablu x uzimamo podatke iz vektora A, a za varijablu y podatke iz vektora B.
4. Kreirati matricu D čiji su reci vektori A, B i C zaokruženi pomoću funkcije fix.
5. Kreirati matricu E čiji su stupci 6., 5, i 3. stupac matrice D.
6. Izračunati determinantu matrice E.
7. Kreirati matricu F čiji kojoj je prvi redak glavna dijagonala matrice E, drugi redak suma  članova ekvivalentnih stupaca matrice E i treći redakt produkt članova ekvivalentnih stupaca matrice E.




d) Pomoću matrice
A=

21
-1-5

i funkcija ones, zeros i eye kreirati matricu

002110
00-1-501
4255-2-1
-2-105515
320011
0-40011