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:
Kích thước 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-by-n được gọi là ma trận vuông cấp 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 chéo
Ma trận đường chéo có các giá trị trên các mục đường chéo và 0 trên các mục còn lại:
Ma trận vô hướng
Ma trận vô hướng có các phần tử theo đường chéo bằng nhau và các phần còn lại bằng 0 :
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 ở 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 đơn vị thì kết quả sẽ bằng ma trận gốc.
Ma trận số không
Ma trận Zero (Ma trận Null) chỉ có số không.
Ma trận bằng nhau
Ma trận bằng nhau nếu mỗi phần tử tương ứng:
Ma trận âm
Phủ định 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à Scalar :
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] ];
Các vectơ có thể được viết dưới dạng Ma trận chỉ với một cột:
const vector = [ [1],[2],[3] ];
Các vectơ cũng có thể được viết dưới dạng Arrays :
const vector = [ 1, 2, 3 ];
Hoạt động ma trận JavaScript
Lập trình các phép toán ma trận trong JavaScript có thể dễ dàng trở thành một chuỗi các vòng lặp.
Sử dụng thư viện JavaScript sẽ giúp bạn đỡ đau đầu hơn rất nhiều.
Một trong những thư viện phổ biến nhất được 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 thì chúng ta có thể cộng chúng:
Ví 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] ]
Hãy tự mình thử »
Phép trừ ma trận
Nếu hai ma trận có cùng thứ nguyên thì ta có thể trừ chúng:
Ví 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] ]
Hãy tự mình thử »
Để 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ố ở hàng và cột được gọi là Ma trận , các số đơn lẻ được gọi là Vô hướng .
Thật dễ dàng để nhân một ma trận với một đại lượng vô hướng. Chỉ cần nhân từng số trong ma trận với đại lượng vô hướng:
Ví 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] ]
Hãy tự mình thử »
Ví 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] ]
Hãy tự mình thử »
Chuyển đổi một ma trận
Chuyển vị một ma trận có nghĩa là thay thế hàng bằng cột.
Khi bạn hoán đổi hàng và cột, bạn xoay ma trận quanh đường chéo của nó.
Nhân ma trận
Nhân ma trận khó khăn hơn.
Chúng ta chỉ có thể nhân hai ma trận nếu số cột trong ma trận A bằng số hàng 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ố ở mỗi cột của A với các số ở mỗi hàng của B , rồi cộng các tích:
Ví dụ
const mA = math.matrix([1, 2, 3]);
const mB = math.matrix([[1, 4, 7], [2, 5, 8], [3, 6, 9]]);
// Matrix Multiplication
const matrixMult = math.multiply(mA, mB);
// Result [14, 32, 50]
Hãy tự mình thử »
Giải thích:
(1,2,3) * (1,2,3) = 1x1 + 2x2 + 3x3 = | 14 |
(1,2,3) * (4,5,6) = 1x4 + 2x5 + 3x6 = | 32 |
(1,2,3) * (7,8,9) = 1x7 + 2x8 + 3x9 = | 50 |
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.
Ví dụ
Bạn bán hoa hồng.
- Hoa hồng đỏ giá 3$ mỗi bông
- Hoa hồng trắng giá 4$ một bông
- Hoa hồng vàng giá 2$ một bông
- 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ả doanh số 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 |
Ví 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]
Hãy tự mình thử »
Giải thích:
MỘT | | B | | | | |
| x | 120 | 90 | 60 | 80 | 70 | 40 | 60 | 40 | 20 |
| = | | = | |
(3,4,2) * (120,80,60) | = 3x120 + 4x80 + 2x60 | = 800 |
(3,4,2) * (90,70,40) | = 3x90 + 4x70 + 2x40 | = 630 |
(3,4,2) * (60,40,20) | = 3x60 + 4x40 + 2x20 | = 380 |
Hệ số hóa ma trận
Với AI, bạn cần biết cách phân tích ma trận thành nhân tử.
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 Bình phương tối thiểu tuyến tính.
Người tìm đường W3schools
Theo dõi tiến trình của bạn - hoàn toàn miễn phí!