155GIT1 / 2. cvičení

Z GeoWikiCZ
Verze z 1. 3. 2023, 20:17, kterou vytvořil Holesovsky (diskuse | příspěvky)
(rozdíl) ← Starší verze | zobrazit aktuální verzi (rozdíl) | Novější verze → (rozdíl)
Skočit na navigaci Skočit na vyhledávání
předchozí cvičenístránky předmětudalší cvičení

Matlab - Maticové a matematické funkce, speciální proměnné, operátory

Náplň

  1. opakování
    • vytvoření a spuštění skriptů • edit, run
    • vytvořit proměnnou A o rozměrech [3x4] s náhodnými čísly od 0 do 9
    • vybrat třetí element z druhého řádku a vynásobit ho dvěma
  2. speciální matice • ones(), zeros(), eye(), rand()
    • náhodné přirozené číslo • randi()
    • magický čtverec • magic()
  3. maticové funkce • diag(), det(), inv(), find()
  4. relační a logické operátory
  5. základní matematické funkce
    • v matici - prvek po prvku • abs(), sign()exp(), log() • zaokrouhlovací • goniometrické, atan2(Y,X)
    • v matici - sloupcové • min(), max()sum(), prod()mean(), median()std(), var()sort()
    • sortrows()

Ukázky

Maticové funkce a relační operátory

(ukázky použití maticových funkcí)

 d = rand(1,4)
 D = diag(d)
 A = -2 + 4*rand(4,3)  % náhodné reálné hodnoty v rozsahu od -2 do 2
 a = diag(A)
 a1 = diag(A,1)
 a2 = diag(A,-1)
 F = -1 + 3*rand(4)
 Fi = inv(F)          % pouze pro čtvercovou matici
 F * Fi
 F>=0
 find(F>=0)
 F( find(F>=0) )
 F( find(F>=0) ) = 2

Matematické funkce

(ukázky použití matematických funkcí)

 abs(A)
 sign(A)

 round([4.7 -6.7])
 ceil([4.7 -6.7])   % zaokrouhluje k plus nekonečnu
 floor([4.7 -6.7])  % zaokrouhluje k minus nekonečnu
 fix([4.7 -6.7])    % celá část čísla
 round(A,2)

 e1 = exp(1)
 log(e1)

 B = randi([2 7],3,5) % náhodná přirozená čísla v rozsahu od 2 do 7
 max(B)
 max(B')
 maxB = max(max(B))

 Brad = sum(B')
 minBrad = min(Brad)
 ind = find(Brad == minBrad) % index řádku s nejmenším řádkovým součtem
 B(ind,:)                    % řádek s nejmenším řádkovým součtem

 data = [7.1 7.2 7.1 7.4]
 mean(data)
 std(data) / sqrt(length(data))    % střední chyba průměru
 sqrt( var(data) / length(data) )  % totéž

 sort(B)
 sort(B,2)
 sort(B,2,'descend')

 sortrows(B,1)     % srovnání celých řádků podle hodnot v 1.sloupci

Úlohy