Matrice

Matice je sada čísel .

Matice je obdélníkové pole .

Matice je uspořádána do řádků a sloupců .

Rozměry matice

Tato matice1 řádek a 3 sloupce:

C =  
2 5 3

Rozměr matice je ( 1 x 3 ).


Tato matice má 2 řádky a 3 sloupce:

C =  
2 5 3
4 7 1

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) :

C =  
1 2
3 4

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:

C =   
2 0 0
0 5 0
0 0 3

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 Matrix1 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.

C =   
0 0 0
0 0 0

Rovné matice

Matice se rovnají , pokud každý prvek odpovídá:

2 5 3
4 7 1
  =  
2 5 3
4 7 1

Negativní matice

Zápor matice je snadno pochopitelný:

  -  
-2 5 3
-4 7 1
  =  
2 -5 -3
4 -7 -1

Lineární algebra v JavaScriptu

V lineární algebře je nejjednodušším matematickým objektem skalární :

const scalar = 1;

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:

2 5 3
4 7 1
 + 
4 7 1
2 5 3
 = 
6 12 4
6 12 4

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:

2 5 3
4 7 1
 - 
4 7 1
2 5 3
 = 
-2 -2 2
2 2 -2

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:

2 5 3
4 7 1
   x 2 =   
4 10 6
8 14 2

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.

A =   
1 2
3 4
    A T =  
1 3
2 4

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
1
2
3
 X 
1 1 1
2 2 2
3 3 3
 = 
1x1 + 2x1 + 3x1
1x2 + 2x2 + 3x2
1x3 + 2x3 + 3x3
 = 
6
12
18

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ů?

Červená růže3 $ Bílý4 $ Žlutá2 $
Po1208060
út907040
St604020
A B C C
3 $
4 $
2 $
 X 
120 80 60
90 70 40
60 40 20
 = 
800 dolarů
630 dolarů
380 dolarů
 = 
1810 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
3 $
4 $
2 $
 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.