1 / 55

Obsah 3 . přednášky

Obsah 3 . přednášky. Pokr ačování práce s Matlabem: Matice: M aticové výrazy Výpis matic Indexové výrazy Speciální matice Maticové operace (K ilustraci bude používán a modif i kován příklad z 1. přednášky.)

jera
Télécharger la présentation

Obsah 3 . přednášky

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Obsah 3. přednášky Pokračování práce s Matlabem: Matice: Maticové výrazy Výpis matic Indexové výrazy Speciální matice Maticové operace (K ilustraci bude používán a modifikován příklad z 1. přednášky.) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.

  2. Příklad - modifikace REKAPITULACE Manipulátor V grafu si přejeme vykreslit i pozice ramen. K tomu potřebujeme znát souřadnice kloubu Aspojujícího obě ramena. Tyto souřadnice snadno určíme ze vztahů: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.

  3. Příklad - modifikace • Požadovaný graf je na následujícím obrázku. K jeho dosažení je nutné vědět, jak funguje funkce plot. • Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. REKAPITULACE

  4. Příklad - modifikace REKAPITULACE • V předchozích použitích funkce plot jsme této funkci předávali dva argumenty, které byly řádkové vektory. Odpovídající prvky těchto dvou vektorů vždy tvořily souřadnice bodu k vykreslení. • Nyní nechceme vykreslit spojnici bodů trajektorie koncového bodu nebo spojnice ramen, ale pro každou polohu ramen vykreslit úsečku od počátku souřadnic ke kloubu spojujícímu ramena a odtud další úsečku do koncového bodu. • Pokud oba parametry funkce plot jsou matice, sloupce druhého parametru (souřadnice y) se vykreslují proti sloupcům prvního parametru (souřadnice x) • Připravíme dvě matice, v prvním řádku obou matic budou prvky s nulovou hodnotou (souřadnice počátku), ve druhém řádku budou souřadnice kloubu, ve třetím řádku souřadnice koncového bodu (třetí řádky obou matic budou rovny vektorům vykreslovaným v dosavadních modifikacích příkladů). • Bude vhodné zmenšit počet vykreslovaných pozic (dělení po jednom stupni natočení prvního ramene je příliš jemné, graf by byl zcela nepřehledný). • Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.

  5. Příklad - modifikace • Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. REKAPITULACE n = 25; l_1 = 1.3; l_2 =0.7; alfa_1=linspace(0,pi,n); alfa_2 =linspace(-pi/2,3*pi/2,n); x(2,:)= l_1*cos(alfa_1); y(2,:)= l_1*sin(alfa_1); x(3,:)= l_1*cos(alfa_1)+ l_2*cos(alfa_1+alfa_2); y(3,:)= l_1*sin(alfa_1)+ l_2*sin(alfa_1+alfa_2); x(1,:)=0; y(1,:)=0;

  6. Příklad - modifikace REKAPITULACE • Použijeme-li pro připravené matice příkaz dostaneme následující graf. V dalším kroku už jen zvýrazníme polohu koncového bodu. • Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. plot(x,y); grid('on');

  7. Příklad - modifikace plot(x,y,'-',x(3,:),y(3,:),'*'); axis([-1.5,2,-1,2],'square'); grid('on'); Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. REKAPITULACE • Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.

  8. Matice prostá hodnota nebo výraz [ ] představuje skalár (matice 1×1) matice se zapisuje pomocí maticového výrazu: vymezen hranatými závorkami, prvky na řádku odděleny čárkou nebo mezerou, sloupce odděleny středníkem nebo znakem "konec řádku", podle kontextu mohou být mezery a nové řádky ignorovány, prvky matice: libovolné výrazy, musí být zadány všechny, velikost matice určena automaticky (není třeba nijak předem explicitně dimenzovat nebo deklarovat) vícerozměrné (3 a více) se plní buďpo prvcích nebo po řezech (viz dále) Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. >>a=[1,2;3,4] a = 1 2 3 4 >>[a,a] ans = 1 2 1 2 3 4 3 4 >>

  9. Výpis matice je-li systém vyzván k vypsání hodnoty, která je maticí, vypíše se matice v "tabulkovém" tvaru, tzn. s uspořádanými řádky a sloupci, jsou-li řádky příliš dlouhé, probíhá výpis po sekcích (vždy několik kompletních sloupců, v záhlaví je zobrazeno, o které sloupce jde), podobu veškerých výpisů (nejen matic) lze ovlivnit funkcí format: short, long - snaha, aby desetinné tečky byly pod sebou při dodržení maximální šířky výpisu, pokud nelze, výpis v exponentovém (semilogaritmickém) tvaru, 4 desetinná místa pro short, všechna (7 resp. 14 nebo 15) pro long, modifikace short(long) e (semilogaritnický tvar), short(long) g (pevná des. čárka nebo semilogaritnický tvar), short(long) eng (semilogaritnický tvar, exponent je násobkem 3), + - bude se vypisovat znak '+' (plus) pro kladné prvky, '-' (minus) pro záporné prvky a mezera pro nulové prvky (užitečné u velkých a/nebo řídkých matic), po startu Matlabu je nastaven format short, návrat k tomuto výchozímu stavu je možný zápisem samotného příkazu format bez parametru, více možností (viz help) pro výpis lze požadovat i určené rozsahy (tj. souvislé části pole), viz dále Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. ČÁSTEČNÁ REKAPITULACE

  10. Výpis matice Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. >>a=[0,0,1,2;3,4,0,0;-9,10,0,-8] a = 0 0 1 2 3 4 0 0 -9 10 0 -8 >>format + >>a a = ++ ++ -+ - >>

  11. Výpis matice Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. >>a=[1200,0,1;3,4,0;-9,10,0] a = 1200 0 1 3 4 0 -9 10 0 >>format short eng >>a a = 1.2000e+003 0.0000e-003 1.0000e+000 3.0000e+000 4.0000e+000 0.0000e-003 -9.0000e+000 10.0000e+000 0.0000e-003 >>

  12. Indexové výrazy umožňují přístup k prvku matice nebo pole, indexy mohou být skaláry, vektory, řady (rozsahy) nebo speciální operátor : (dvojtečka) pro výběr celých řádků nebo sloupců, Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>a=[1,2,3;4,5,6;7,8,9] • a = • 1 2 3 4 5 6 7 8 9 • >> a(1,:) • ans = • 12 3 • >>a(1,[1,2])ans = 1 2 >> neboa(1,[1:2])

  13. Indexové výrazy vektory jsou indexovány použitím jednohoindexového výrazu, matice použitím dvou nebo jednoho indexového výrazu, dvojtečka jako jediný index vytvoří sloupcový vektor spojením všech sloupců matice, při aplikaci jednoho indexu na matici je vybrán prvek, jako by se bral z vektoru vzniklého spojením sloupců matice (index určuje pořadový prvek matice počítáno po sloupcích). Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . >>a=[1,2;3,4] a = 1 2 3 4 >>a(:) ans = 1 3 2 4 >> a(3) ans = 2 >>

  14. Indexové výrazy indexování skaláru vektorem jedniček vytvoří vektor stejné velikosti jako indexový vektor, všechny jeho prvky budou rovny původní hodnotě skaláru, Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . >>b = 7; >>b([1,1,1]) ans = 7 7 7 >>

  15. Indexové výrazy přiřazení skaláru indexované matici nastaví všechny specifikované prvky na příslušnou hodnotu Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.. • >> a = [1,2,3;4,5,6;7,8,9] a = 1 2 3 4 5 6 7 8 9 >> a(1,[1,2])= 0a = 0 0 3 4 5 6 7 8 9 • >>a(:,:) = 0 a = 0 0 0 0 0 0 0 0 0 >> POZOR! Bez použití indexového výrazu se z proměnné stane skalár. neboa(:)=0 >>a = 5; a = 5 >>

  16. Speciální matice Prázdná matice, všechny dimenze nulové. Užitečné např. pro mazání řádků a sloupců matic. Podobně lze použít pro mazání obsahu nebo částí obsahu textových řetězců (v dalších přednáškách). Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . [] • >>a=[1,2;3,4;5,6] a = 1 2 3 4 56 >> a(2,:)=[] a = 1 2 5 6 >>

  17. Speciální matice Řádkový vektor s n prvky, prvky tvoří aritmetickou posloupnost v intervalu a,b pro a > b sestupná řada je-li n vynecháno, pak 100 prvků Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . REKAPITULACE linspace(a,b,n) • >>c=linspace(0,3*pi); >> plot(sin(c)); >> Na ose x se v tomto grafu vynáší pořadové číslo (index) hodnoty, nikoliv argument funkce sinus.

  18. Speciální matice Nulová čtvercová matice n ×n. Nulová matice m×n. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>zeros(3) • ans = 0 0 0 0 0 0 0 0 0 >> zeros(n) zeros(m,n) • >>zeros(2,4) ans = 0 0 0 0 0 0 0 0 >>

  19. Speciální matice Jedničková čtvercová matice n ×n. Jedničková matice m×n. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>ones(3) ans = 111 111 111 >> ones(n) ones(m,n) • >>ones(2,4) ans = 1111 1111 >>

  20. Speciální matice Jednotková čtvercová matice n ×n. Jednotková matice m×n. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>eye(3) ans = 10 0 0 1 0 0 0 1 >> eye(n) eye(m,n) • >>eye(2,4) ans = 1 0 0 0 0 1 0 0 >>

  21. Speciální matice Čtvercová matice n ×n naplněná pseudonáhodnými hodnotami s rovnoměrným rozdělením z intervalu (0,1). Matice m ×n naplněná pseudonáhodnými hodnotami s rovnoměrným rozdělením z intervalu (0,1). Lze i jiná rozdělení (normální, Poissonovo, gamma) - randn, randp, randg a lze též ovlivnit nastavenígenerátoru (pseudo-)náhodných čísel. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . rand(n) • >>rand(3) ans = 0.8147 0.9134 0.2785 0.9058 0.6324 0.5469 0.1270 0.0975 0.9575 >> rand(m,n)

  22. Speciální matice Diagonální matice s vektorem v na hlavní diagonále. Rozměr matice je dán počtem prvků vektoru v. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . diag(v) • >>v=[1,2,3,4]; • >>diag(v) ans = 10 0 0 0 2 0 0 0 0 3 0 0 0 0 4 >>

  23. Speciální matice Diagonální matice s vektorem v nak-té vedlejší diagonále. Rozměr matice dán počtem prvků vektoru v. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . diag(v,k) • >>v=[1,2,3,4]; >> diag(v,2) ans = 0 0 10 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 4 0 0 0 0 0 0 0 0 0 0 0 0 >>

  24. Speciální matice Je-li prvním parametrem matice, pak funkce diag vrací prvky na hlavní (k-té vedlejší) diagonále jako sloupcový vektor. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . diag(A) diag(A,k) • >>A=[1,2,3;4,5,6;7,8,9]; • >>diag(A) ans = 1 5 9 >> diag(A,-1) ans = 4 8 >>

  25. Příklad Potřebujeme do proměnnéAuložit následující matici: Lze ji sice zadat výčtem hodnotv hranatých závorkách, ale pro větší matice by to bylo obtížné. Lze postupovat např. takto: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.. Napřed vytvoříme matici odpovídajících dimenzí (obsahující libovolné hodnoty). • >>A=zeros(5); • >>A(:) = linspace(1,25,25) A = 1 6 11 16 21 2 7 12 17 22 3 8 13 18 23 4 9 14 19 24 5 10 15 20 25 >> Vytvoříme vektor obsahující požadovanou posloupnost a prvky vektoru přiřadíme prvkům matice.

  26. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. a+b a–b ab a . b • Součet matic. Počty řádků a sloupců musejí být u obou argumentů stejné, nebo může být jeden z operandů skalár a druhý matice. Je-li jeden operand skalár, jeho hodnota je přičtena ke všem prvkům druhého operandu. • Rozdíl matic. Počty řádků a sloupců musejí být u obou argumentů stejné, nebo může být jeden z operandů skalár a druhý matice. • Maticové násobení. Počet sloupců a se musí rovnat počtu řádků b. • Násobení prvek po prvku. Počty řádků a sloupců musejí být u obou argumentů stejné.

  27. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>A=[123 • 456 • 789]; • >>A-7 ans = -6 -5 -4 -3 -2 -1 0 1 2 >> 7-A ans = 6 5 4 3 2 1 0 -1 -2 >>

  28. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. a / b a./b a \b a .\ b • Dělení zprava. To je ekvivalentní výrazu (bT)1 *aT, (resp. a * b1), ale je počítáno bez vyčíslování inverzní matice. • Dělení zprava prvek po prvku. Počty řádků a sloupců musejí být u obou argumentů stejné. Každý prvek a je dělen odpovídajícím prvkem b. • Dělení zleva. To je ekvivalentní výrazu a1*b, ale je počítáno bez vyčíslování inverzní matice. • Dělení zleva prvek po prvku. Počty řádků a sloupců musejí být u obou argumentů stejné. Každý prvek b je dělen odpovídajícím prvkem a.

  29. Příklad Řešme soustavu lineárních rovnic: V maticové podobě: tzn. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>A = [1,1;-1,2];b=[3;5]; • >>x=A\b x = 0.3333 2.6667 >>

  30. Příklad Řešme soustavu lineárních rovnic: V maticové podobě: tzn. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. . • >>A = [1,-1;1,2];b=[3;5]; • >>x=b'/A' x = 3.6667 0.6667 >>

  31. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. a ^ b a.^ b • Mocnina. Alespoň jeden operand musí být skalár, druhý může být skalár nebo čtvercová matice. Je-li b celočíselný nezáporný skalár a a čtvercová matice, je výsledek vypočítán opakovaným násobením. Je-li b rovno 0, výsledkem je jednotková matice. • Operátor mocniny prvek po prvku. Počty řádků a sloupců musejí být u obou argumentů stejné nebo musí být a nebo b skalár. Každý prvek a je umocněn na odpovídající prvek b (resp. na bpro skalární b). Pro a skalár a b vektor/matici je výsledkem pole stejných rozměrů jako b, jeho prvky jsou hodnoty a umocněné na odpovídající prvek b.

  32. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.. • >>a=[13 • 57]; • >>a^2 ans = 16 24 40 64 >> a.^2 ans = 1 9 25 49 >> 2.^a ans = 2 8 32 128 >> neboa*a

  33. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. a' a.' • Komplexně sdružená transpozice. Výsledkem je transponovaná matice, kde jsou navíc komplexní prvky nahrazeny odpovídajícími čísly komplexně sdruženými. Pro matice s pouze reálnými prvky funguje tento operátor jako transpoziční operátor. • Transpozice.

  34. Maticové operace Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.. • >>a=[1 3+2i • 6-i 7] a = 1.0000 3.0000 + 2.0000i 6.0000 - 1.0000i 7.0000 >> a' ans = 1.0000 6.0000 + 1.0000i 3.0000 - 2.0000i 7.0000 >> a.' ans = 1.0000 6.0000 - 1.0000i 3.0000 + 2.0000i 7.0000 >>

  35. Příklad Potřebujeme do proměnnéAuložit následující matici: Lze ji sice zadat výčtem hodnotv hranatých závorkách, ale pro větší matice by to bylo obtížné. Lze postupovat např. takto: Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky.. • >>A=zeros(5); • >>A(:) = linspace(1,25,25); • >>A = A' A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 >> Napřed vytvoříme matici odpovídajících dimenzí (obsahující libovolné hodnoty). Vytvoříme vektor obsahující požadovanou posloupnost a prvky vektoru přiřadíme prvkům matice.

  36. Matice a relační operátory Jsou-li oba operandy v relačním výrazu matice, musejí mít stejné rozměry a tyto rozměry má i výsledná matice. Prvky výsledné matice mají hodnoty 0 a/nebo 1 a získají se porovnáváním odpovídajících prvků obou operandů. Je-li jeden operand skalár a druhý matice, je skalár porovnán postupně s každým prvkem matice, výsledek má stejnou velikost jako matice (prvky jsou opět 0 a/nebo 1). Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,2;3,4]; • >>a > 2 • ans = 0 0 1 1 >> • >>a = [1,2;3,4]; • >>b = [1,0;3,5]; • >>a >= b • ans = 1 1 1 0 >>

  37. Matice a logické operátory Jestliže operandy binárních logických operátorů jsou matice, pak musejí mít stejné rozměry. Pro maticové operandy tyto operátory provádějí zpracování prvek po prvku. Je-li jeden z operátorů skalár, pak se operátor aplikuje na skalár a každý prvek matice. Jestliže je maticová hodnota použita jako podmínka v příkazech if , while nebo do-until, je pravdivá pouze tehdy, jsou-li všechny její prvky nenulové(viz druhá polovina semestru). Poznánka: pro všechny logické operace se chápe hodnota 0 jako nepravda a jakákoliv nenulová hodnota jako pravda. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>[1, 0; 0, 1] & [1, 0; 2, 3] • >>ans = 1 0 0 1 >>

  38. Maticové a vektorové funkce determinant matice inverzní matice Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. det(a) • >>a = [1,3;2,-5] • ans = 1 3 2 -5 >> det(a) • ans = -11 >> inv(a) • ans = 0.4545 0.2727 0.1818 -0.0909 >> inv(a)

  39. Maticové a vektorové funkce hodnost matice Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3;2,-5] • ans = 1 3 2 -5 >> rank(a) • ans = 2 >> a = [1,2;3,6] • ans = 12 3 6 >>rank(a) • ans = 1 >>det(a) • ans = 0 >> rank(a)

  40. Maticové a vektorové funkce Maximum. Pro vektor vrací maximální prvek. Pro matici vrací řádkový vektor, jehoprvky jsou maxima sloupců matice. a a b musí mít stejné rozměry nebo mohou být skaláry. Vrací pole stejných rozměrů jako jsou parametry, v každé pozici je větší z prvků z obou polí. Maximum z pole a v dimenzi dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3;2,-5] • ans = 1 3 2 -5 >> max(a) • ans = 2 3 >> max(a(:)) • ans = 3 >> max(a,[],1) • ans = 2 3 >> max(a,[],2) • ans = 3 2 >> max(a) max(a,b) max(a,[],dim)

  41. Maticové a vektorové funkce Minimum. Pro vektor vrací minimální prvek. Pro matici vrací řádkový vektor, jehoprvky jsou minima sloupců matice. a a b musí mít stejné rozměry nebo mohou být skaláry. Vrací pole stejných rozměrů jako jsou parametry, v každé pozici je menší z prvků z obou polí. Minimum z pole a v dimenzi dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3;2,-5] • ans = 1 3 2 -5 >> min(a) • ans = 1-5 >> min(a(:)) • ans = -5 >> min(a,[],1) • ans = 1-5 >> min(a,[],2) • ans = 1 -5 >> min(a) min(a,b) min(a,[],dim)

  42. Maticové a vektorové funkce Aritmetický průměr. Pro vektor vrací průměr prvků vektoru. Pro matici vrací řádkový vektor, jehoprvky jsou průměry sloupců matice. Aritmetický průměr podél dimenze dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3;2,-5] • ans = 1 3 2 -5 >> mean(a) • ans = 1.5000 -1.0000 >> mean(a(:)) • ans = 0.2500 >> mean(a,1) • ans = 1.5000 -1.0000 >> mean(a,2) • ans = 2.0000 -1.5000 >> mean(a) mean(a,dim)

  43. Maticové a vektorové funkce Medián. Pro vektor vrací medián prvků vektoru. Pro matici vrací řádkový vektor, jeho prvky jsou mediány sloupců matice. Medián podél dimenze dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3,4;2,7,-5] • ans = 1 3 4 2 7 -5 >> median(a) • ans = 1.5000 5.0000 -0.5000 >> median(a(:)) • ans = 2.5000 >> median(a,1) • ans = 1.5000 5.0000 -0.5000 >> median(a,2) • ans = 3 2 >> median(a) median(a,dim)

  44. Maticové a vektorové funkce Třídění. Pro vektor vrací vektor s vzestupněuspořádanými prvky. Pro matici vrací matici, jejíž sloupce jsou uspořádány vzestupně. Pro vektor vrací vektor se sestupněuspořádanými prvky. Pro matici vrací matici, jejíž sloupce jsou uspořádány sestupně. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. sort(a) sort(a,'ascend') • >>a = [1,3,4;2,0,-5] • ans = 1 3 4 2 0-5 >> sort(a) • ans = 1 0-5 2 3 4 >> sort(a,'descend') • ans = 2 3 4 1 0-5 >> sort(a,'descend')

  45. Maticové a vektorové funkce Třídění matice v rozměru dim vzestupně. Třídění matice v rozměru dim sestupně. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3,4;2,0,-5] • ans = 1 3 4 2 0-5 >> sort(a,1) • ans = 1 0-5 2 3 4 >> sort(a,2) • ans = 1 3 4 -50 2 >> sort(a,2,'descend') • ans = 4 31 20 -5 >> sort(a,dim) sort(a,dim,'ascend') sort(a,dim,'descend')

  46. Maticové a vektorové funkce Součet. Pro vektor vrací součet prvků vektoru. Pro matici vrací řádkový vektor, jeho prvky jsou součty sloupců matice. Součty prvků matice podél dimenze dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3,4;2,7,-5] • ans = 1 3 4 2 7 -5 >> sum(a) • ans = 3 10 -1 >> sum(a(:)) • ans = 12 >> sum(a,1) • ans = 3 10 -1 >> sum(a,2) • ans = 8 4 >> sum(a) sum(a,dim)

  47. Maticové a vektorové funkce Součin. Pro vektor vrací součin prvků vektoru. Pro matici vrací řádkový vektor, jeho prvky jsou součiny sloupců matice. Součiny prvků matice podél dimenze dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,3,4;2,7,-5] • ans = 1 3 4 2 7 -5 >> prod(a) • ans = 2 21 -20 >> prod(a(:)) • ans = -840 >> prod(a,1) • ans = 2 21 -20 >> prod(a,2) • ans = 12 -70 >> prod(a) prod(a,dim)

  48. Maticové a vektorové funkce Zjištění, zda alespoň jeden prvek je různý od nuly. Pro vektor vrací 1 nebo 0. Pro matici vrací řádkový vektor hodnot 0 a 1, prvky určují, zda v příslušném sloupci matice je alespoň jeden nenulový prvek. Test na existenci alespoň jednoho nenulového prvku v dimenzi dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,0,0;2,0,-5] • ans = 1 0 0 2 0 -5 >> any(a) • ans = 1 0 1 >> any(a(:)) • ans = 1 >> any(a,1) • ans = 1 0 1 >> any(a,2) • ans = 1 1 >> any(a) any(a,dim)

  49. Maticové a vektorové funkce Zjištění, zda všechny prvky jsou různé od nuly. Pro vektor vrací 1 nebo 0. Pro matici vrací řádkový vektor hodnot 0 a 1, prvky určují, zda v příslušném sloupci matice jsou všechny prvky nenulové. Test na nenulovost všech prvků v dimenzi dim. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,0,0;2,0,-5] • ans = 1 0 0 2 0 -5 >> all(a) • ans = 1 0 0 >> all(a(:)) • ans = 0 >> all(a,1) • ans = 1 0 0 >> all(a,2) • ans = 0 0 >> all(a) all(a,dim)

  50. Maticové a vektorové funkce Transpozice (operátor). Bylo dříve mezi operátory,zde jen pro úplnost. Matice s převráceným pořadímsloupců/řádků. Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České republiky. • >>a = [1,0,0;2,0,-5] • ans = 1 0 0 2 0 -5 >> a' • ans = 1 2 0 0 0 -5 >> fliplr(a) • ans = 0 0 1 -5 0 2 >> flipud(a) ans = 2 0 -5 1 0 0 >> a' fliplr(a) flipud(a)

More Related