otočení matice o 180

Podobné dokumenty
plot() vytváří dvou-dimenzionální grafy, mnoho různých kombinací vstupních argumentů, nejjednodušší formou je plot(y), plot(x,y).

při vykreslování křivky je důležitá velikost kroku, příp. počet prvků, ve vektoru t (na ose x). t = linspace(0,2*pi,500); y = sin(t); t =

POZOR!!! atan (imag(c)./real(c)) počítá úhel v 1. a 4. kvadrantu, podle vzorce

Systém je citlivý na velikost písmen CASE SENSITIVE rozeznává malá velká písmena, např. PROM=1; PROm=1; PRom=1; Prom=1; prom=1; - 5 různých proměnných

KTE / PPEL Počítačová podpora v elektrotechnice

více křivek v jednom grafu hold on přidrží aktuální graf v grafickém okně, lze nakreslit více grafů do jednoho grafického okna postupně hold off

PPEL_3_cviceni_MATLAB.txt. % zadat 6 hodnot mezi cisly 2 a 8 % linspace (pocatek, konec, pocet bodu)

pi Ludolfovo číslo π = 3,14159 e Eulerovo číslo e = 2,71828 (lze spočítat jako exp(1)), např. je v Octave, v MATLABu tato konstanta e není

KTE / PPEL Počítačová podpora v elektrotechnice

- transpozice (odlišuje se od překlopení pro komplexní čísla) - překlopení matice pole podle hlavní diagonály, např.: A.' ans =

plot(c,'o') grid xlabel('re') ylabel('im')

Operátory pro maticové operace (operace s celými maticemi) * násobení maticové Pro čísla platí: 2*2

Doňar B., Zaplatílek K.: MATLAB - tvorba uživatelských aplikací, BEN - technická literatura, Praha, (ISBN:

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

X37SGS Signály a systémy

NALG 001 Lineární algebra a geometrie 1, zimní semestr MFF UK Doba řešení: 3 hodiny

% vyhledání prvku s max. velikostí v jednotlivých sloupcích matice X

Příklad elektrický obvod se stejnosměrným zdrojem napětí

KAPITOLA 9 - POKROČILÁ PRÁCE S TABULKOVÝM PROCESOREM

a + b + c = 2 b + c = 1 a b = a 1 2a 1 + a a 3 + a 5 + 2a 2 + a 2 + a

EXCELentní tipy a triky pro mírně pokročilé. Martina Litschmannová

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

Circular Harmonics. Tomáš Zámečník

Algoritmizace a programování

f(x) = arccotg x 2 x lim f(x). Určete všechny asymptoty grafu x 2 2 =

Čtvercové matice. Čtvercová matice je taková matice, jejíž počet řádků je roven počtu jejích sloupců

1 Vektorové prostory.

Řešení. Hledaná dimenze je (podle definice) rovna hodnosti matice. a a 2 2 1

Všechno, co jste kdy chtěli vědět o maticích, ale báli jste se zeptat

Úvod do lineární algebry

Grafické výstupy v Octave/Matlabu a GnuPlotu

Transformace souřadnic

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA STROJNÍHO INŽENÝRSTVÍ

Komplexní čísla, Kombinatorika, pravděpodobnost a statistika, Posloupnosti a řady

ZŠ ÚnO, Bratří Čapků 1332

Příklad: Řešte soustavu lineárních algebraických rovnic 10x 1 + 5x 2 +70x 3 + 5x 4 + 5x 5 = 275 2x 1 + 7x 2 + 6x 3 + 9x 4 + 6x 5 = 100 8x 1 + 9x 2 +

Univerzitní licence MATLABu. Pište mail na: se žádostí o nejnovější licenci MATLABu.

Rovinné přetvoření. Posunutí (translace) TEORIE K M2A+ULA

10. Soustavy lineárních rovnic, determinanty, Cramerovo pravidlo

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

cyklus s daným počtem opakování cyklus s podmínkou na začátku (cyklus bez udání počtu opakování)

KTE / PPEL Počítačová podpora v elektrotechnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

VI. Maticový počet. VI.1. Základní operace s maticemi. Definice. Tabulku

0.1 Úvod do lineární algebry

10. DETERMINANTY " # $!

IB112 Základy matematiky

Determinanty. Obsah. Aplikovaná matematika I. Pierre Simon de Laplace. Definice determinantu. Laplaceův rozvoj Vlastnosti determinantu.

Mgr. Ladislav Zemánek Maturitní okruhy Matematika Obor reálných čísel

Soustava m lineárních rovnic o n neznámých je systém

FP - SEMINÁŘ Z NUMERICKÉ MATEMATIKY. Katedra matematiky a didaktiky matematiky Technická univerzita v Liberci

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

Fourierova transformace

MATURITNÍ TÉMATA Z MATEMATIKY

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

F A,B = Vektory baze vyjádřete jako aritmetické vektory souřadnic vzhledem

KOMPLEXNÍ ČÍSLA INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

α 1 α 2 + α 3 = 0 2α 1 + α 2 + α 3 = 0

smaže n-tý sloupec matice A vybere hodnotu 6.,1.,3.,2.prvku vektoru a a1 =

Vlastní čísla a vlastní vektory

Logické operace. Datový typ bool. Relační operátory. Logické operátory. IAJCE Přednáška č. 3. může nabýt hodnot: o true o false

Osové a deviační momenty setrvačnosti ploch (opakování ze 4. cvičení) Momenty setrvačnosti k otočeným osám Kroucení kruhových a mezikruhových průřezů

Lineární algebra s Matlabem. Přednáška 4

KTE / PPEL Počítačová podpora v elektrotechnice

[1] Determinant. det A = 0 pro singulární matici, det A 0 pro regulární matici

Microsoft Office. Excel vyhledávací funkce

0.1 Úvod do lineární algebry

výsledek 2209 y (5) (x) y (4) (x) y (3) (x) 7y (x) 20y (x) 12y(x) (horní indexy značí derivaci) pro 1. y(x) = sin2x 2. y(x) = cos2x 3.

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Soustavy lineárních rovnic

Výpočet nového stavu je závislý na bezprostředně předcházejícím stavu (může jich být i více, zde se však omezíme na jeden).

Lineární algebra. Soustavy lineárních rovnic

Linearní algebra příklady

FUNKCE 3. Autor: Mgr. Dana Kaprálová. Datum (období) tvorby: září, říjen Ročník: sedmý. Vzdělávací oblast: Informatika a výpočetní technika

. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0

Cvičné texty ke státní maturitě z matematiky

Kapitola 11: Vektory a matice:


Gymnázium Jiřího Ortena, Kutná Hora

Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).

FUNKCE A JEJICH VLASTNOSTI

Operační výzkum. Teorie her cv. Hra v normálním tvaru. Optimální strategie. Maticové hry.

Vektorový prostor. d) Ke každému prvku u V n existuje tzv. opačný prvek u, pro který platí, že u + u = o (vektor u nazýváme opačný vektor k vektoru u)

Lineární zobrazení. 1. A(x y) = A(x) A(y) (vlastnost aditivity) 2. A(α x) = α A(x) (vlastnost homogenity)

p, q dvě permutace na množině X, pak složené zobrazení, tj. permutaci, q p : X X nazýváme složení permutací p a q (v tomto pořadí).

6. Základy výpočetní geometrie

Úlohy k přednášce NMAG 101 a 120: Lineární algebra a geometrie 1 a 2,

Matice. Předpokládejme, že A = (a ij ) je matice typu m n: diagonálou jsou rovny nule.

Hisab al-džebr val-muqabala ( Věda o redukci a vzájemném rušení ) Muhammada ibn Músá al-chvárizmího (790? - 850?, Chiva, Bagdád),

3. ANTAGONISTICKÉ HRY

3. Grafy a matice. Definice 3.2. Čtvercová matice A se nazývá rozložitelná, lze-li ji napsat ve tvaru A =

Stručný návod k programu Octave

1 Determinanty a inverzní matice

Základy algoritmizace a programování

Úlohy nejmenších čtverců

Excel tabulkový procesor

Maturitní témata profilová část

Vliv realizace, vliv přesnosti centrace a určení výšky přístroje a cíle na přesnost určovaných veličin

Transkript:

A=[,2,3;4,5,6] A = 2 3 4 5 6 rot90(a) 3 6 2 5 4 otočení matice o 90 (proti směru hodinových ručiček) A.' prostá transpozice 4 2 5 3 6 rot90(rot90(a)) 6 5 4 3 2 otočení matice o 80 rot90(rot90(rot90(a))) 4 5 2 6 3 otočení matice o 270

A=[,2,3;4,5,6] A = 2 3 4 5 6 rot90(a) 3 6 2 5 4 otočení matice o 90 (proti směru hodinových ručiček) A.' prostá transpozice 4 2 5 3 6 rot90(rot90(a)) 6 5 4 3 2 otočení matice o 80 rot90(matice,k) otočení matice o k*90 rot90(rot90(rot90(a))) 4 5 2 6 3 otočení matice o 270 rot90(a,) * 90 rot90(a,2) 2* 90 rot90(a,3) 3* 90 3 6 6 5 4 4 2 5 3 2 5 2 4 otočení matice o 80 6 3 otočení matice o 90 otočení matice o 270

D = [,2,3;4,5,6;7,8,-9] D = 2 3 4 5 6 7 8-9 hldiagonala = diag(d) hldiagonala = 5-9 D.' prostá transpozice 4 7 2 5 8 3 6-9 rot90(d) otočení matice o 90 3 6-9 2 5 8 4 7 diag(d.') 5-9 diag(rot90(d)) 3 5 7

Testovací funkce vrací na příslušných pozicích (pravda) nebo 0 (nepravda), např. D = 2 3 4 5 0 Inf - -i NaN Inf 0 6 7+2i 9 8 Inf Inf NaN isinf(d) jsou prvky matice D nekonečné? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 isfinite(d) jsou prvky matice D konečné? 0 0 0 0 0 0 isnan(d) jsou prvky NaN (neplatná numerická hodnota)? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Testovací funkce vrací na příslušných pozicích (pravda) nebo 0 (nepravda), např. F = 7 24 8 5 23 5 7 4 6 4 6 3 20 22 0 2 9 2 3 isprime(f) jsou prvky matice F prvočísla? 0 0 0 0 0 0 0 0 0 0 0 0 0 G = 6+8i - 4-9i 0+i 3-2i 5 2 7 + 3i 0 isreal(g) jsou prvky matice G reálné, nemají imaginární část? 0 ~isreal(g) nejsou prvky matice G reálné, mají prvky matice G imaginární část? isreal(f)

find(h) nalezne polohu nenulových hodnot v matici H [r,s] = find(h) nalezne indexy nenulových prvků v H H = 9 0 2 0 7 8 0 0 0 0 0 5 0 2 4 0 0 6 0 find(h) 2 4 7 9 6 7 9 5 9 3 7 2 6 0 4 8 3 7 5 9 4 8 2 6 20 indexy, jsou-li prvky indexovány lineárně po sloupcích [r,s,h] = find(h) r = s = h = 2 4 3 3 4 3 2 3 3 4 5 5 9 8 4 5 2 6 7 2 indexy (řádek a sloupec) v matici H a hodnoty prvků

Příklad: prvky matice větší než 20 F = 7 24 8 5 23 5 7 4 6 4 6 3 20 22 0 2 9 2 3 find(f>20) 2 5 6 9 F>20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 find(f>20) nalezne pozice prvků větších než 20 v matici F, protože na těchto pozicích je v pravdivostní matici hodnota 5 9 3 7 2 6 0 4 8 3 7 5 9 4 8 2 6 20 indexy, jsou-li prvky indexovány po sloupcích [r,s,h] = find(f>20) r = s = h = 2 2 4 4 3 5 indexy prvků (řádek a sloupec)

Příklad: Víme, že pomocí max()lze nalézt maximum a polohu (index) maxima ve vektoru c. c = [-2,-4,,-3,4,5,0,-4,5,-,2,3]; [mc,pc] = max(c) mc = 5 pc = 6 Pokud je maxim více, je vrácen index toho prvního. Nalezení polohy (indexu) všech maximálních prvků ve vektoru c pomocí funkce find(): c == max(c) 0 0 0 0 0 0 0 0 0 0 nalezne pozice všech prvků ve vektoru c, které se rovnají maximu, protože na těchto pozicích je v pravdivostní matici hodnota

Příklad: Víme, že pomocí max()lze nalézt maximum a polohu (index) maxima ve vektoru c. c = [-2,-4,,-3,4,5,0,-4,5,-,2,3]; [mc,pc] = max(c) mc = 5 pc = 6 Pokud je maxim více, je vrácen index toho prvního. Nalezení polohy (indexu) všech maximálních prvků ve vektoru c pomocí funkce find(): c == max(c) 0 0 0 0 0 0 0 0 0 0 [r,s,h]= find(c == max(c)) r = - číslo řádku s = 6 9 - číslo sloupce h = - hodnota v pravdivostní matici nalezne pozice všech prvků ve vektoru c, které se rovnají maximu, protože na těchto pozicích je v pravdivostní matici hodnota

Příklad: Víme, že pomocí max()lze nalézt maximum a polohu (index) maxima ve vektoru c. c = [-2,-4,,-3,4,5,0,-4,5,-,2,3]; [mc,pc] = max(c) mc = 5 pc = 6 Pokud je maxim více, je vrácen index toho prvního. Nalezení polohy (indexu) všech maximálních prvků ve vektoru c pomocí funkce find(): c == max(c) 0 0 0 0 0 0 0 0 0 0 [r,s,h]= find(c == max(c)) r = - číslo řádku s = 6 9 - číslo sloupce h = - hodnota v pravdivostní matici nalezne pozice všech prvků ve vektoru c, které se rovnají maximu, protože na těchto pozicích je v pravdivostní matici hodnota

any(x) je-li některý prvek vektoru x nenulový, vrací hodnotu, jinak vrací 0. all(x) jsou-li všechny prvky vektoru x nenulové, vrací hodnotu, jinak vrací 0. k = [9,,8,2]; l = [3,0,4,0,6]; m = [0,0,0,0]; n = [5,NaN,7,Inf]; any(k) any(l) all(k) all(l) 0 any(m) 0 any(n) all(m) 0 all(n) any(), all() ignorují položky NaN (neplatné numerické hodnoty).

Podobně pro matice, např. K = 9 0 2 0 7 8 0 0 0 0 0 5 0 2 4 0 0 0 0 0 0 0 0 0 any(k) 0 je-li ve sloupci matice K nějaký (alespoň jeden) prvek nenulový, pak vrátí (pravda), jinak vrátí 0 (nepravda) pro každý sloupec any(k,) totéž 0 any(k,2) 0 je-li v řádku matice K nějaký (alespoň jeden) prvek nenulový, vrátí (pravda), jinak vrátí 0 (nepravda) any(k, 3) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 je-li některý prvek matice K nenulový, vrátí, jinak vrátí 0.

Podobně pro matice, např. L = 4 7 6 5 0 0 5-8 2-2 0 9 3 6 5 2-3 0 4 0 6 0 all(l) 0 0 0 jsou-li ve sloupci matice K všechny prvky nenulové, pak vrátí (pravda), jinak vrátí 0 (nepravda) pro každý sloupec all(l,) totéž 0 0 0 all(l,2) 0 0 0 0 jsou-li v řádku matice K všechny prvky nenulové, vrátí (pravda), jinak vrátí 0 (nepravda) all(l,3) 0 0 0 0 0 0 jsou-li prvky matice K nenulové, vrátí, jinak vrátí 0.

Pro uvedené matice: K = 9 0 2 0 7 8 0 0 0 0 0 5 0 2 4 0 0 0 0 0 0 0 0 0 L = 4 7 6 5 0 0 5-8 2-2 0 9 3 6 5 2-3 0 4 0 6 0 any(k) 0 all(k) 0 0 0 0 0 any(l) all(l) 0 0 0

randperm(n) náhodná permutace čísel od do n (tj. čísla až n v náhodném pořadí) randperm(6) 6 3 5 2 4 randperm(3) 3 2

randperm(n) náhodná permutace čísel od do n (tj. čísla až n v náhodném pořadí) randperm(6) 6 3 5 2 4 x = 0:2:4 x = 0 2 4 6 8 0 2 4 randperm(3) 3 2 Příklad užití náhodné zpřeházení položek ve vektoru: length(x) 8 z = randperm(length(x)) z = 4 5 2 7 3 6 8 x(z) 6 8 2 2 4 0 0 4

randperm(n) náhodná permutace čísel od do n (tj. čísla až n v náhodném pořadí) randperm(6) 6 3 5 2 4 x = 0:2:4 x = 0 2 4 6 8 0 2 4 randperm(3) 3 2 Příklad užití náhodné zpřeházení položek ve vektoru: length(x) 8 z = randperm(length(x)) z = 4 5 2 7 3 6 8 x(z) 6 8 2 2 4 0 0 4 výběr prvků se zadanými indexy x([4,5,2,7,3,6,,8])

randperm(n) náhodná permutace čísel od do n (tj. čísla až n v náhodném pořadí) randperm(6) 6 3 5 2 4 x = 0:2:4 x = 0 2 4 6 8 0 2 4 randperm(3) 3 2 Příklad užití náhodné zpřeházení položek ve vektoru: length(x) 8 z = randperm(length(x)) z = 4 5 2 7 3 6 8 x(z) 6 8 2 2 4 0 0 4 výběr prvků se zadanými indexy x([4,5,2,7,3,6,,8])

randperm(n) náhodná permutace čísel od do n (tj. čísla až n v náhodném pořadí) randperm(6) 6 3 5 2 4 x = 0:2:4 x = 0 2 4 6 8 0 2 4 randperm(3) 3 2 Příklad užití náhodné zpřeházení položek ve vektoru: length(x) 8 z = randperm(length(x)) z = 4 5 2 7 3 6 8 x(z) 6 8 2 2 4 0 0 4 výběr prvků se zadanými indexy x([4,5,2,7,3,6,,8]) Lze psát i takto pomocí vnořených funkcí: x(randperm(length(x)))

Práce s časem clock aktuální datum a čas jako data vektoru: [Rok Měsíc Den Hodina Minuta Sekundy].0e+003 * 2.050 0.000 0.020 0.00 0.0480 0.0253 format short g cas = clock cas = 205 0 2 48 25.346 date aktuální datum jako řetězec 2-Oct-205 whos Name Size Bytes Class Attributes ans x 22 char cas x6 48 double

Např. komplexní číslo c = 6+3i (lze zapsat i jako c = 6+3j) isreal(c) test, je-li c reálné číslo (nepravda => vyjde 0) 0 real(c) vypíše reálnou část komplexního čísla c 6 imag(c) vypíše imaginární část komplexního čísla c 3 conj(c) vypíše číslo komplexně sdružené k číslu c (u imaginární části s opačným znaménkem) 6.00-3.00i complex(2,-7) vytvoření komplexního čísla, výsledek je složen z reálné části 2 a imaginární části -7 2.00-7.00i

c = 6+3i; abs(c) vypíše absolutní hodnotu (velikost, modul) komplexního čísla Re( c) 2 Im( c) 2 6.7082 Pozn. stejný výsledek získáme také: sqrt(real(c).^2+imag(c).^2) 6.7082 angle(c) vypíše úhel (fázi, argument) komplexního čísla v radiánech Im( c) arctan 0.4636 Re( c) angle(c)*80/pi převod úhlu na stupně 26.565

Zobrazení komplexních čísel plot(c) pokud c je komplexní číslo, plot(c) je ekvivalentní k zobrazení grafu plot(real(c),imag(c)), tj. na x-ové ose je reálná část a na y-ové ose je imaginární část compass(c) pokud c je komplexní číslo, je zobrazen vektor se složkami real(c), imag(c)ve formě šipky vycházející z počátku polar(uhel, velikost) graf v polárních souřadnicích, zadáváme úhel v radiánech angle(c) a velikost (modul) komplexního čísla abs(c), tedy polar(angle(c), abs(c))

Příklad: zobrazení čísla c c = 6+3i; compass(c,'c') plot(c,'ro') grid xlabel('re') ylabel('im') u = angle(c); v = abs(c); polar(u,v)

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 POZOR!!! atan (imag(c)./real(c)) počítá úhel v. a 4. kvadrantu, podle vzorce Im( c) arctan Re( c) tj. úhel vychází od π/2 do π/2, např: atan(./)*80/pi 45 atan(()./-)*80/pi -45

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 POZOR!!! atan (imag(c)./real(c)) počítá úhel v. a 4. kvadrantu, podle vzorce Im( c) arctan Re( c) tj. úhel vychází od π/2 do π/2, např: atan(./)*80/pi 45 atan(()./-)*80/pi -45 úhel není vypočten správně

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 POZOR!!! atan (imag(c)./real(c)) počítá úhel v. a 4. kvadrantu, podle vzorce Im( c) arctan Re( c) tj. úhel vychází od π/2 do π/2, např: atan(./)*80/pi 45 atan(()./-)*80/pi -45 úhel není vypočten správně atan((-)./(-))*80/pi 45

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 POZOR!!! atan (imag(c)./real(c)) počítá úhel v. a 4. kvadrantu, podle vzorce Im( c) arctan Re( c) tj. úhel vychází od π/2 do π/2, např: atan(./)*80/pi 45 atan(()./-)*80/pi -45 úhel není vypočten správně atan((-)./(-))*80/pi 45 úhel není vypočten správně

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 POZOR!!! atan (imag(c)./real(c)) počítá úhel v. a 4. kvadrantu, podle vzorce Im( c) arctan Re( c) tj. úhel vychází od π/2 do π/2, např: atan(./)*80/pi 45 atan(()./-)*80/pi -45 úhel není vypočten správně atan((-)./(-))*80/pi 45 atan(-./())*80/pi -45 úhel není vypočten správně

angle(c) počítá úhel ve všech 4 kvadrantech, např: angle(+i)*80/pi 45 angle(-+i)*80/pi 35 angle(--i)*80/pi -35 angle(-i)*80/pi -45 atan2 (imag(c),real(c)) počítá úhel také ve všech 4 kvadrantech, tj. od π do π, např: atan2(,)*80/pi 45 atan2(,-)*80/pi 35 atan2(-,-)*80/pi -35 atan2(-,)*80/pi -45 Pomocí příkazu atan2() jsou úhly správně, OK.