Matice

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání
Hlavní stránka Laboratorní modely Vyučované předměty Vybavení Historie Správce laboratoře Pro studenty Odkazy
MATLAB
Čísla, vektory, matice
Formát čísel
Komplexní čísla
Vektory
Matice
Grafika
Řetězce
LTI
Doporučené programy

Matice:

Stejně jako vektory zapisujeme prvky matice v hranatých závorkách [ ]. K oddělení sloupců slouží symbol mezery nebo čárky, pro započetí nového řádku se používá symbol středínku nebo klávesa enter. Stejnou matici tedy dostaneme při všech třech následujících způsobech zápisu:


Poznámka
>> A = [1,1,1;3,3,3;6,6,6];

>> A = [1 1 1;3 3 3;6 6 6];

>> A = [1 1 1

3 3 3

6 6 6]

A =

    1     1     1
    3     3     3
    6     6     6

Pro vytvoření zvláštních druhů matic jako je jednotková či diagonální má MATLAB určeny vlastní funkce:

ones(a) matice velikosti (a × a), která má všechny položky rovny 1
ones(a,b,...) pole velikosti (a × b × ...), která má všechny položky rovny 1
zeros() stejné jako u ones ale prvky jsou 0
eye(a) čtvercová jednotková matice řádu a
eye(a,b,...) jednotkové pole o rozměrech (a × b × ...)
diag(vector) diagonální matice mající na diagonále vektor v
diag(vector,k) diagonála posunuta o k doprava a nahoru


MATLAB dovoluje matice i algebraicky dělit a to jak zprava (A/B = A * B^(-1)) tak zleva (A\B = A^(-1) * B). Dále lze s maticemi provádět základní algebraické operace a navíc je možné užít i zvláštní operátorů uvozených tečkou, které poté nepočítají s maticí jako celkem, ale s každým jejím prvkem zvlášť. Pokud například použijeme operátor .* , vynásobí oproti standardnímu operátoru * pouze vzájemně si odpovídající prvky. Mějme matici A z předchozího příkladu:

Poznámka
>> A*A

ans =

   10    10    10
   30    30    30
   60    60    60

>> A.*A

ans =

    1     1     1
    9     9     9
   36    36    36


Prvky matic se indexují použitím kulatých závorek ( ) a zadáním souřadnic požadovaného prvku. První souřadnice představuje číslo řádku, druhá souřadnice je číslo sloupce. Matice je však také možné adresovat pouze jednou souřadnicí. Jednotlivé sloupce jsou poté "seřazeny pod sebe", takže po nejnižším prvku některého sloupce následuje nejvyšší prvek sloupce následujícího vpravo. Prohledáváme-li matici, nemusíme tvořit dva do sebe vnořené cykly, stačí použít toto lineární indexování. Při vybírání částí matic nebo vektorů je velmi užitečný operátor dvojtečka : (viz příklady).


Poznámka
>> A = [1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16]

A =

    1     2     3     4
    5     6     7     8
    9    10    11    12
   13    14    15    16

>> A(7)

ans =

   10

>> A(4,4)

ans =

   16

>> A(1:end,end)

ans =

    4
    8
   12
   16

>> A(1:2,3:4)

ans =

    3     4
    7     8

Obecné funkce

det(A) Determinant A
inv(A) Matice inverzní k matici A
expm(A) Exponenciela matice A (Existují ještě expm1, expm2, expm3.
Funkce e^A je počítána jinou numerickou metodou)
exp(A) Pozor! Exponenciela je provedena na každém prvku samostatně!
length (A) Délka vektru A
size(A) Velikost matice A


Funkce pro třídění a prohledávání

min() Vyhledá nejmenší prvek vektoru nebo nejmenší prvky sloupce v matici.
max() Vyhledá největší prvek vektoru nebo nejmenší prvky sloupce v matici.
mean() Vyhledá průměrnou hodnotu vektoru nebo průměrnou hodnotu sloupce v matici.
median() Vyhledání mediánu prvků vektoru, nebo sloupce matice.
std() Vyhledání střední odchylky prvků vektoru, nebo sloupce matice.
sort() Setřídění prvků vektoru, nebo sloupců matice, podle velikosti.