Matrice
Matice je sada čísel .
Matice je obdélníkové pole .
Matice je uspořádána do řádků a sloupců .
Rozměry matice
Tato matice má 1 řádek a 3 sloupce:
Rozměr matice je ( 1 x 3 ).
Tato matice má 2 řádky a 3 sloupce:
Rozměr matice je ( 2 x 3 ).
Čtvercové matice
Čtvercová matice je matice se stejným počtem řádků a sloupců.
Matice nxn je známá jako čtvercová matice řádu n.
Matice 2x2 (čtvercová matice řádu 2) :
Matice 4x4 (čtvercová matice řádu 4) :
C = |
1 |
-2 |
3 |
4 |
5 |
6 |
-7 |
8 |
4 |
3 |
2 |
-1 |
8 |
7 |
6 |
-5 |
|
Diagonální matice
Diagonální matice má hodnoty na diagonálních položkách a nulu na ostatních:
Skalární matice
Skalární matice má stejné diagonální vstupy a nulu na zbytku:
C = |
3 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
3 |
|
Matice identity
Identity Matrix má 1 na diagonále a 0 na zbytku.
Toto je maticový ekvivalent 1. Symbol je I .
Já = |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
Pokud vynásobíte jakoukoli matici maticí identity, výsledek se rovná originálu.
Nulová matice
Nulová matice (Null Matrix) má pouze nuly.
Rovné matice
Matice se rovnají , pokud každý prvek odpovídá:
Negativní matice
Zápor matice je snadno pochopitelný:
Lineární algebra v JavaScriptu
V lineární algebře je nejjednodušším matematickým objektem skalární :
Dalším jednoduchým matematickým objektem je Array :
const array = [ 1, 2, 3 ];
Matice jsou 2-rozměrná pole :
const matrix = [ [1,2],[3,4],[5,6] ];
Vektory lze zapsat jako matice pouze s jedním sloupcem:
const vector = [ [1],[2],[3] ];
Vektory lze také zapsat jako pole :
const vector = [ 1, 2, 3 ];
JavaScriptové maticové operace
Programování maticových operací v JavaScriptu se může snadno stát špagetou smyček.
Použití knihovny JavaScript vám ušetří spoustu bolesti hlavy.
Jedna z nejběžnějších knihoven pro maticové operace se nazývá math.js .
Lze jej přidat na vaši webovou stránku pomocí jednoho řádku kódu:
Pomocí math.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.3.2/math.js"></script>
Přidání matic
Pokud mají dvě matice stejný rozměr, můžeme je sečíst:
Příklad
const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);
// Matrix Addition
const matrixAdd = math.add(mA, mB);
// Result [ [2, 1], [5, 2], [8, 3] ]
Odečítání matic
Pokud mají dvě matice stejný rozměr, můžeme je odečíst:
Příklad
const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
const mB = math.matrix([[1,-1], [2,-2], [3,-3]]);
// Matrix Subtraction
const matrixSub = math.subtract(mA, mB);
// Result [ [0, 3], [1, 6], [2, 9] ]
Chcete-li přidat nebo odečíst matice, musí mít stejný rozměr.
Skalární násobení
Zatímco čísla v řádcích a sloupcích se nazývají matice , jednotlivá čísla se nazývají skaláry .
Je snadné vynásobit matici skalárem. Stačí vynásobit každé číslo v matici skalárem:
Příklad
const mA = math.matrix([[1, 2], [3, 4], [5, 6]]);
// Matrix Multiplication
const matrixMult = math.multiply(2, mA);
// Result [ [2, 4], [6, 8], [10, 12] ]
Příklad
const mA = math.matrix([[0, 2], [4, 6], [8, 10]]);
// Matrix Division
const matrixDiv = math.divide(mA, 2);
// Result [ [0, 1], [2, 3], [4, 5] ]
Transponujte matici
Transponovat matici znamená nahradit řádky sloupci.
Když vyměníte řádky a sloupce, otočíte matici kolem její úhlopříčky.
Násobící matice
Násobení matic je obtížnější.
Dvě matice můžeme vynásobit pouze v případě, že počet řádků v matici A je stejný jako počet sloupců v matici B.
Potom musíme sestavit „tečkový produkt“:
Potřebujeme vynásobit čísla v každém řádku A čísly v každém sloupci B a poté sečíst produkty:
Příklad
const mA = math.matrix([[1, 2, 3]]);
const mB = math.matrix([[1, 2, 3], [1, 2, 3], [1, 2, 3]]);
// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);
// Result [ [6, 12, 18] ]
Vysvětleno:
A |
|
B |
|
C |
|
C |
|
X |
|
= |
1x1 + 2x1 + 3x1 |
1x2 + 2x2 + 3x2 |
1x3 + 2x3 + 3x3 |
|
= |
|
Pokud víte, jak násobit matice, můžete vyřešit mnoho složitých rovnic.
Příklad
Prodáváte růže.
- Červené růže jsou za 3 dolary
- Bílé růže za 4 dolary
- Žluté růže jsou za 2 dolary
- V pondělí jsi prodal 260 růží
- V úterý jsi prodal 200 růží
- Ve středu jsi prodal 120 růží
Jaká byla hodnota všech prodejů?
|
3 $ |
4 $ |
2 $ |
Po | 120 | 80 | 60 |
út | 90 | 70 | 40 |
St | 60 | 40 | 20 |
A |
|
B |
|
C |
|
C |
|
X |
120 |
80 |
60 |
90 |
70 |
40 |
60 |
40 |
20 |
|
= |
800 dolarů |
630 dolarů |
380 dolarů |
|
= |
|
Příklad
const mA = math.matrix([[3, 4, 2]]);
const mB = math.matrix([[120, 90, 60], [80, 70, 40], [60, 40, 20]);
// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);
// Result [ [800, 630, 380] ]
Vysvětleno:
A |
|
B |
|
C |
|
C |
|
X |
120 |
80 |
60 |
90 |
70 |
40 |
60 |
40 |
20 |
|
= |
3 $ x 120 + 4 x 80 $ + 2 x 60 $ |
$3x90 + $4x70 + $2x40 |
$3x60 + $4x40 + $2x20 |
|
= |
800 dolarů |
630 dolarů |
380 dolarů |
|
Maticová faktorizace
S AI musíte vědět, jak faktorizovat matici.
Rozklad matice je klíčovým nástrojem v lineární algebře, zejména v lineárních nejmenších čtvercích.