Ma trận
Một ma trận là tập hợp các Số .
Ma trận là một Mảng hình chữ nhật .
Một ma trận được sắp xếp theo Hàng và Cột .
Kích thước ma trận
Ma trận này có 1 hàng và 3 cột:
Kích thước của ma trận là ( 1 x 3 ).
Ma trận này có 2 hàng và 3 cột:
Số chiều của ma trận là ( 2 x 3 ).
Ma trận vuông
Ma trận vuông là ma trận có cùng số hàng và số cột.
Ma trận n x được gọi là ma trận vuông bậc n.
Ma trận 2 x 2 (Ma trận vuông bậc 2):
Ma trận 4 x 4 (Ma trận vuông bậc 4):
C = |
1 |
-2 |
3 |
4 |
5 |
6 |
-7 |
số 8 |
4 |
3 |
2 |
-1 |
số 8 |
7 |
6 |
-5 |
|
Ma trận đường chéo
Ma trận đường chéo có các giá trị trên các mục nhập đường chéo và bằng không trên các phần còn lại:
Ma trận vô hướng
Ma trận vô hướng có các mục nhập theo đường chéo bằng nhau và 0 trên các phần còn lại:
C = |
3 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
3 |
0 |
0 |
0 |
0 |
3 |
|
Ma trận nhận dạng
Ma trận Nhận dạng có 1 trên đường chéo và 0 trên phần còn lại.
Đây là ma trận tương đương với 1. Ký hiệu là I.
Tôi = |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
|
Nếu bạn nhân bất kỳ ma trận nào với ma trận nhận dạng, kết quả bằng ban đầu.
Ma trận số 0
Ma trận số 0 (Null Matrix) chỉ có các số không.
Ma trận bằng
Các ma trận là Bằng nhau nếu mỗi phần tử tương ứng:
Ma trận phủ định
Âm của ma trận rất dễ hiểu:
Đại số tuyến tính trong JavaScript
Trong đại số tuyến tính, đối tượng toán học đơn giản nhất là Vô hướng :
Một đối tượng toán học đơn giản khác là Array :
const array = [ 1, 2, 3 ];
Ma trận là Mảng 2 chiều :
const matrix = [ [1,2],[3,4],[5,6] ];
Vectơ có thể được viết dưới dạng Ma trận chỉ có một cột:
const vector = [ [1],[2],[3] ];
Vectơ cũng có thể được viết dưới dạng Mảng :
const vector = [ 1, 2, 3 ];
Hoạt động ma trận JavaScript
Lập trình hoạt động ma trận trong JavaScript, có thể dễ dàng trở thành một spaghetti của các vòng lặp.
Sử dụng thư viện JavScript sẽ giúp bạn đỡ phải đau đầu.
Một trong những thư viện phổ biến nhất để sử dụng cho các phép toán ma trận được gọi là math.js.
Nó có thể được thêm vào trang web của bạn bằng một dòng mã:
Sử dụng math.js
<script src="https://cdnjs.cloudflare.com/ajax/libs/mathjs/9.3.2/math.js"></script>
Thêm ma trận
Nếu hai ma trận có cùng thứ nguyên, chúng ta có thể thêm chúng vào:
Thí dụ
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] ]
Trừ ma trận
Nếu hai ma trận có cùng thứ nguyên, chúng ta có thể trừ chúng:
Thí dụ
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] ]
Để cộng hoặc trừ ma trận, chúng phải có cùng thứ nguyên.
Nhân bản vô tính
Trong khi các số trong hàng và cột được gọi là Ma trận , các số đơn được gọi là Vô hướng .
Dễ dàng nhân một ma trận với một vô hướng. Chỉ cần nhân từng số trong ma trận với vô hướng:
Thí dụ
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] ]
Thí dụ
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] ]
Chuyển đổi một ma trận
Để chuyển một ma trận, có nghĩa là thay thế các hàng bằng các cột.
Khi bạn hoán đổi hàng và cột, bạn xoay ma trận xung quanh nó theo đường chéo.
Nhân ma trận
Nhân ma trận khó hơn.
Chúng ta chỉ có thể nhân hai ma trận nếu số hàng trong ma trận A bằng số cột trong ma trận B.
Sau đó, chúng ta cần biên dịch một "sản phẩm chấm":
Chúng ta cần nhân các số trong mỗi hàng của A với các số trong mỗi cột của B , rồi cộng các tích:
Thí dụ
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] ]
Giải thích:
MỘT |
|
B |
|
C |
|
C |
|
x |
|
= |
1x1 + 2x1 + 3x1 |
1x2 + 2x2 + 3x2 |
1x3 + 2x3 + 3x3 |
|
= |
|
Nếu bạn biết cách nhân ma trận, bạn có thể giải được nhiều phương trình phức tạp.
Thí dụ
Bạn bán hoa hồng.
- Hoa hồng đỏ là $ 3 mỗi cái
- Hoa hồng trắng là $ 4 mỗi cái
- Hoa hồng vàng là $ 2 mỗi cái
- Thứ hai bạn đã bán được 260 bông hồng
- Thứ ba bạn đã bán được 200 bông hồng
- Thứ tư bạn đã bán được 120 bông hồng
Giá trị của tất cả các lần bán hàng là bao nhiêu?
|
$ 3 |
$ 4 |
$ 2 |
Thứ hai | 120 | 80 | 60 |
Thứ ba | 90 | 70 | 40 |
Thứ Tư | 60 | 40 | 20 |
MỘT |
|
B |
|
C |
|
C |
|
x |
120 |
80 |
60 |
90 |
70 |
40 |
60 |
40 |
20 |
|
= |
|
= |
|
Thí dụ
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] ]
Giải thích:
MỘT |
|
B |
|
C |
|
C |
|
x |
120 |
80 |
60 |
90 |
70 |
40 |
60 |
40 |
20 |
|
= |
$ 3x120 + $ 4x80 + $ 2x60 |
$ 3x90 + $ 4x70 + $ 2x40 |
$ 3x60 + $ 4x40 + $ 2x20 |
|
= |
|
Dữ liệu hóa ma trận
Với AI, bạn cần biết cách phân tích nhân tử của một ma trận.
Phân tích nhân tử ma trận là một công cụ quan trọng trong đại số tuyến tính, đặc biệt là trong Hình vuông nhỏ nhất tuyến tính.