Trình tính toán và nhân ma trận là gì?
Trình tính toán và nhân ma trận là công cụ cho phép nhập hai bảng số, gọi là ma trận A và B, để thực hiện cộng, trừ, nhân hoặc chuyển vị từng ma trận. Theo mã được cung cấp, công cụ trả về một ma trận kết quả dạng lưới; nếu kích thước không đáp ứng điều kiện của phép toán, công cụ hiển thị thông báo lỗi thay vì tính tiếp.
Mỗi ma trận có thể có từ 1 đến 5 hàng và từ 1 đến 5 cột. Vì vậy, phạm vi sử dụng không chỉ gồm ma trận vuông như 2×2, 3×3 hay 4×4, mà còn gồm ma trận chữ nhật như 3×2 và 2×3. Khi khởi tạo, cả hai ma trận đều có kích thước 3×3; đây là kích thước ban đầu, không phải điều kiện bắt buộc cho mọi phép tính.
Nhu cầu chính công cụ hỗ trợ là đối chiếu kết quả của những phép toán ma trận nhỏ. Với phép nhân, điều quan trọng nhất là xác định hai ma trận có nhân được theo thứ tự đang chọn hay không, sau đó đọc đúng vị trí từng phần tử đầu ra. Cộng, trừ và chuyển vị cũng có quy tắc riêng, không thể áp dụng điều kiện của phép nhân cho tất cả.
Kết quả tính không đồng nghĩa với lời giải chi tiết. Công cụ hiển thị các số cuối cùng, không trình bày sẵn từng phép nhân, phép cộng trung gian hoặc chứng minh toán học. Các phần giải thích dưới đây giúp bạn hiểu và kiểm tra kết quả đó.
Các thuật ngữ cần biết khi tính toán ma trận
Ma trận và phần tử
Ma trận là một bảng số được sắp xếp thành các hàng và cột. Mỗi số trong bảng gọi là một phần tử, được xác định bằng vị trí hàng và cột. Chẳng hạn, với bảng [[1, 2], [3, 4]], số 2 nằm ở hàng thứ nhất, cột thứ hai. Vị trí quan trọng như giá trị: chuyển số 2 sang ô khác có thể làm thay đổi tích ma trận, dù bảng vẫn chứa cùng những số ban đầu.
Kích thước ma trận
Kích thước m×n nghĩa là ma trận có m hàng và n cột, luôn đọc hàng trước, cột sau. Ma trận 3×2 có ba hàng, mỗi hàng hai phần tử; ma trận 2×3 có hai hàng, mỗi hàng ba phần tử. Hai bảng này cùng chứa sáu số nhưng không cùng kích thước. Sự khác biệt quyết định khả năng cộng, trừ, nhân và hình dạng đầu ra, nên không thể chỉ đếm tổng số ô để kiểm tra điều kiện.
Tích vô hướng
Tích vô hướng của hai dãy số cùng độ dài là tổng các tích của những phần tử tương ứng. Ví dụ, hai dãy [1, 2] và [5, 7] cho giá trị 1×5 + 2×7 = 19. Đây là kiến thức nền giải thích cách tạo ra một ô trong tích ma trận: lấy một hàng của A ghép với một cột của B. Công cụ không có chế độ tích vô hướng riêng; quy tắc này được dùng bên trong phép nhân ma trận.
Ma trận chuyển vị
Ma trận chuyển vị được tạo bằng cách đổi hàng thành cột và cột thành hàng, thường ký hiệu AT. Một ma trận 2×3 sau chuyển vị có kích thước 3×2; phần tử ở hàng thứ nhất, cột thứ hai chuyển sang hàng thứ hai, cột thứ nhất. Các giá trị không bị thay đổi. Chuyển vị khác với nghịch đảo: nó chỉ sắp xếp lại vị trí, không phải tìm một ma trận để nhân với ma trận gốc ra ma trận đơn vị.
Vector cột
Vector cột là một vector được biểu diễn dưới dạng ma trận chỉ có một cột, với kích thước n×1. Ví dụ, [[4], [5]] là vector cột 2×1, khác với vector hàng [[4, 5]] có kích thước 1×2. Trong công cụ, vector cột được nhập như một ma trận thông thường. Cách đặt hướng này ảnh hưởng điều kiện nhân: một ma trận 2×2 có thể nhân bên phải với vector cột 2×1, nhưng không với vector hàng 1×2.
Dữ liệu đầu vào và cách đọc ma trận kết quả
Hai đầu vào A và B có kích thước độc lập. Mỗi ô đại diện cho một phần tử tại vị trí hàng–cột cụ thể, không phải một biểu thức cần giải. Các số không có đơn vị mặc định; nếu dùng dữ liệu thực tế, bạn phải tự xác định ý nghĩa và đơn vị của chúng trước khi tính.
Định dạng số và ý nghĩa của ô trống
Nên nhập số nguyên, số âm hoặc số thập phân dùng dấu chấm, chẳng hạn 12, -3 và 1.5. Bộ lọc nhập liệu chỉ giữ chữ số, dấu trừ và dấu chấm. Ô để trống được đọc thành 0; một chuỗi không đọc được thành số cũng được thay bằng 0, chứ không tạo cảnh báo định dạng riêng.
Điểm cần chú ý là bộ lọc loại bỏ ký tự, không chuyển đổi cách viết số. Nhập 1,5 khiến dấu phẩy bị bỏ và nội dung thành 15. Tương tự, 1/2 không được hiểu là một nửa: dấu gạch chéo bị loại bỏ. Chuỗi có nhiều dấu chấm hoặc dấu trừ còn có thể chỉ được đọc phần đầu hợp lệ. Vì vậy, hãy kiểm tra lại nội dung ô sau khi nhập hoặc dán.
Nhận biết kết quả và thông báo lỗi
Đầu ra gồm tiêu đề xác định phép toán và một lưới kết quả chỉ đọc. Kích thước lưới phụ thuộc phép toán: cộng hoặc trừ giữ kích thước đầu vào, nhân lấy số hàng của A và số cột của B, còn chuyển vị đổi hai chiều. Công cụ không tự thêm đơn vị hay diễn giải ý nghĩa chuyên ngành cho các số.
Khi sai điều kiện kích thước, lưới kết quả bị ẩn và vùng này hiển thị thông báo lỗi. Ngược lại, sửa một ô hoặc đổi kích thước không tự tính lại, cũng không tự ẩn kết quả cũ. Phải thực hiện lại phép toán trước khi coi lưới đang thấy là kết quả của dữ liệu hiện tại.
Quy tắc cộng, trừ, nhân và chuyển vị ma trận
Cộng và trừ theo phần tử tương ứng
Phép cộng và phép trừ yêu cầu hai ma trận có cùng số hàng, đồng thời cùng số cột. Với mỗi vị trí, công cụ lấy phần tử của A cộng hoặc trừ phần tử của B tại đúng vị trí đó. Công thức là cᵢⱼ = aᵢⱼ + bᵢⱼ cho phép cộng và cᵢⱼ = aᵢⱼ − bᵢⱼ cho phép trừ.
Kết quả có cùng kích thước với hai đầu vào. Điều kiện này không được thay bằng “cùng tổng số phần tử”: ma trận 2×3 và ma trận 3×2 đều có sáu ô nhưng không cộng hoặc trừ trực tiếp được. Với phép trừ A−B, thứ tự cũng quan trọng vì công cụ lấy giá trị của A làm số bị trừ.
Nhân theo hàng và cột
Nếu A có kích thước m×n và B có kích thước n×p, phép nhân A×B cho kết quả m×p. Số cột của A phải bằng số hàng của B, tức hai chiều nằm ở giữa phải khớp. Lý do là mỗi hàng của A cần ghép từng phần tử với một cột của B, và hai dãy phải có cùng độ dài.
Công thức cho một ô kết quả là cᵢⱼ = Σₖ₌₁ⁿ aᵢₖbₖⱼ. Hiểu đơn giản: lấy hàng i của A và cột j của B, nhân từng cặp tương ứng, rồi cộng tất cả các tích. Lặp lại cho từng hàng của A và từng cột của B sẽ tạo toàn bộ ma trận đầu ra. Đây không phải phép nhân hai ô cùng vị trí.
Chuyển vị và làm tròn kết quả
Chuyển vị đưa phần tử ở hàng i, cột j sang hàng j, cột i. Ma trận m×n trở thành n×m mà không thay đổi giá trị của các phần tử. Trong công cụ, phép này chỉ hiển thị một kết quả mới; ma trận A hoặc B đang nhập không bị ghi đè bằng bản chuyển vị.
Với nhiều giá trị thông thường, kết quả được làm tròn khi hiển thị đến tối đa sáu chữ số sau dấu thập phân, đồng thời bỏ các số 0 dư ở cuối. Chẳng hạn, tích 1×1 giữa 0.1234567 và 1 hiển thị 0.123457. Đây là định dạng đầu ra, không phải cam kết tính toán chính xác tuyệt đối; phép tính vẫn dùng số dấu phẩy động và cách hiển thị có ngoại lệ với giá trị cực trị.
Ví dụ nhân ma trận có lời giải và cách hiểu kết quả
Các ví dụ sau sử dụng số giả định, không có đơn vị chuyên ngành. Kết quả được suy ra bằng quy tắc trong mã nguồn, không phải báo cáo chạy thử công cụ. Trong cách viết [[...], [...]], mỗi nhóm bên trong biểu diễn một hàng.
Nhân hai ma trận 2×2
Cho A = [[1, 2], [3, 4]] và B = [[5, 6], [7, 8]]. Hai chiều bên trong đều bằng 2 nên phép nhân hợp lệ. Tính bốn ô bằng cách ghép từng hàng của A với từng cột của B:
| Vị trí kết quả | Phép tính | Giá trị |
|---|---|---|
| Hàng 1, cột 1 | 1×5 + 2×7 | 19 |
| Hàng 1, cột 2 | 1×6 + 2×8 | 22 |
| Hàng 2, cột 1 | 3×5 + 4×7 | 43 |
| Hàng 2, cột 2 | 3×6 + 4×8 | 50 |
Kết quả là [[19, 22], [43, 50]]. Hai số 19 và 22 nằm cùng hàng đầu tiên, không cùng cột. Khi đối chiếu bài làm, hãy kiểm tra cả giá trị lẫn vị trí đặt số.
Nhân ma trận 3×2 với 2×3
Cho A = [[1, 2], [0, 1], [-1, 3]] và B = [[2, 0, 1], [1, 4, -2]]. A có hai cột, B có hai hàng, nên kết quả có ba hàng và ba cột.
Hàng đầu tiên được tính lần lượt: 1×2 + 2×1 = 4; 1×0 + 2×4 = 8; 1×1 + 2×(−2) = −3. Áp dụng cùng quy tắc cho hai hàng còn lại cho kết quả [[4, 8, -3], [1, 4, -2], [1, 12, -7]]. Ví dụ cho thấy hai đầu vào không vuông vẫn có thể tạo ra một ma trận vuông.
Nhân ma trận với vector cột
Cho A = [[2, -1], [0, 3]] và B = [[4], [5]]. B là vector cột 2×1, nên A×B có kích thước 2×1. Phần tử đầu bằng 2×4 + (−1)×5 = 3; phần tử thứ hai bằng 0×4 + 3×5 = 15.
Đầu ra là [[3], [15]], tức một vector cột, không phải một hàng chứa hai số. Mỗi hàng của A tạo một thành phần của vector kết quả bằng cách kết hợp hai thành phần đầu vào.
Một trường hợp không thể nhân
Nếu A có kích thước 2×3 và B có kích thước 2×2, A×B không hợp lệ vì 3 khác 2. Không có ma trận tích để hiển thị; công cụ thông báo số cột của A phải bằng số hàng của B. Lỗi nằm ở kích thước, không phụ thuộc các ô đang chứa số dương, số âm hay toàn số 0.
Ứng dụng phù hợp của công cụ tính toán ma trận
Đối chiếu bài tập và phép tính nhỏ
Công cụ phù hợp để đối chiếu bài tập đại số tuyến tính sau khi bạn đã tự thực hiện phép tính. Thay vì chỉ nhìn xem hai ma trận kết quả có giống nhau hay không, hãy tìm ô đầu tiên khác nhau và tính lại tích giữa hàng, cột tương ứng. Cách này giúp phát hiện lỗi dấu, bỏ sót một tích hoặc đặt nhầm vị trí phần tử.
Cộng và trừ còn có thể dùng với hai bảng số cùng cấu trúc. Tuy nhiên, cùng kích thước chưa đủ để phép tính có ý nghĩa thực tế: mỗi vị trí phải đại diện cho cùng đối tượng và có đơn vị phù hợp. Công cụ không kiểm tra được điều này. Chuyển vị hữu ích khi cần xem bảng theo hướng hàng–cột khác; nếu muốn dùng kết quả cho phép tính tiếp theo, bạn phải nhập lại vào đầu vào.
Minh họa biến đổi tuyến tính
Theo kiến thức toán học, một ma trận có thể biểu diễn biến đổi tuyến tính, còn vector cột biểu diễn các thành phần đầu vào. Nhân ma trận với vector cho thấy từng thành phần đầu ra được tạo từ những tổng có trọng số như thế nào. Công cụ có thể hỗ trợ minh họa các trường hợp nhỏ nằm trong giới hạn kích thước.
Đây là ứng dụng của phép nhân thông thường, không phải một chế độ mô phỏng chuyên biệt. Bạn vẫn phải tự chọn ma trận, xác định ý nghĩa của vector và diễn giải đầu ra. Mã được cung cấp không cho thấy khả năng tự lập mô hình hoặc phân tích bài toán chuyên ngành.
Phân biệt nhân ma trận, nhân từng phần tử và đổi thứ tự
Nhân ma trận không phải nhân từng ô
Nhân ma trận tạo mỗi ô bằng một tổng các tích hàng–cột. Nhân từng phần tử chỉ lấy hai số tại vị trí tương ứng nhân với nhau. Trong ví dụ 2×2 ở trên, ô đầu tiên của A×B là 1×5 + 2×7 = 19, còn nhân từng ô tại vị trí đó chỉ cho 1×5 = 5. Ô thứ hai của hàng đầu là 22 theo phép nhân ma trận, nhưng sẽ là 2×6 = 12 nếu nhân từng phần tử.
Công cụ triển khai phép nhân ma trận, không có chức năng nhân từng phần tử riêng được xác nhận. Ngoài ra, điều kiện cộng và nhân khác nhau: cặp 3×2 và 2×3 có thể nhân theo thứ tự đó nhưng không cộng, vì hai ma trận không cùng kích thước.
Thứ tự A×B và B×A có ý nghĩa
Nhân ma trận nói chung không có tính giao hoán: A×B không nhất thiết bằng B×A. Với A kích thước 3×2 và B kích thước 2×3, cả hai thứ tự đều hợp lệ, nhưng A×B có kích thước 3×3 còn B×A có kích thước 2×2. Chỉ riêng hình dạng đã cho thấy không thể coi hai kết quả là một.
Đổi thứ tự còn có thể khiến phép nhân không hợp lệ. A kích thước 2×2 nhân B kích thước 2×3 được, nhưng B×A không được vì ba cột của B không khớp hai hàng của A. Vì vậy, cần kiểm tra lại điều kiện mỗi khi đảo vị trí hai ma trận, ngay cả khi lần tính trước không báo lỗi.
Giới hạn và những lưu ý để tránh đọc sai kết quả
Giới hạn chức năng và độ chính xác
Phạm vi được xác nhận gồm cộng, trừ, nhân và chuyển vị, với tối đa năm hàng và năm cột cho mỗi đầu vào. Mã không có chức năng tính định thức, nghịch đảo, giải hệ phương trình hoặc xuất tệp. Số phức và biểu thức phân số cũng không được phân tích như đối tượng toán học.
Phép tính dùng số dấu phẩy động nên có thể có sai số. Với số rất lớn hoặc rất nhỏ được biểu diễn bằng ký hiệu khoa học, cách định dạng kết quả có thể tạo ra NaN. Ký hiệu này không phải đáp án toán học và không chứng minh phép nhân không tồn tại. Mã cũng không đặt miền giá trị số rõ ràng để bảo đảm mọi chuỗi số dài hoặc mọi kết quả cực trị đều được xử lý đúng.
Dữ liệu bị xóa và phạm vi chưa xác minh
Thay đổi số hàng hoặc số cột tạo lại toàn bộ ô nhập của ma trận đang điều chỉnh, làm mất các giá trị trong ma trận đó. Làm mới thì xóa ô của cả A và B, ẩn kết quả nhưng giữ kích thước hiện tại. Vì vậy, nên xác định kích thước trước khi nhập nhiều số và giữ bản ghi riêng nếu cần đối chiếu.
Bộ lọc ký tự không bảo đảm cú pháp số hợp lệ, nên việc kiểm tra lại nội dung vẫn cần thiết. Những mô tả chức năng ở đây dựa trên mã được cung cấp; hoạt động của trang triển khai chưa được xác minh bằng chạy thử. Cũng không thể kết luận về lưu trữ, theo dõi hoặc quyền riêng tư của toàn website chỉ từ các đoạn mã này.
Câu hỏi thường gặp
Có thể nhân ma trận 2×2 với ma trận 2×3 không?
Có, nếu ma trận 2×2 đứng ở vị trí A và ma trận 2×3 đứng ở vị trí B. Hai cột của A khớp với hai hàng của B, nên A×B có kích thước 2×3. Mỗi ô đầu ra là tổng của hai tích tương ứng. Cần giữ đúng thứ tự này: khi đảo thành ma trận 2×3 nhân ma trận 2×2, điều kiện không còn đáp ứng vì ba cột không khớp hai hàng.
Công cụ có tính được phép nhân hai ma trận 4×4 không?
Có, hai ma trận 4×4 nằm trong giới hạn kích thước được mã xác nhận và đáp ứng điều kiện nhân. Kết quả cũng là ma trận 4×4; mỗi phần tử được tạo bằng tổng bốn tích giữa một hàng và một cột. Tuy nhiên, việc hỗ trợ kích thước này không có nghĩa công cụ tự cung cấp lời giải từng bước hoặc bảo đảm độ chính xác tuyệt đối cho mọi giá trị số. Bạn vẫn cần kiểm tra dữ liệu và lưu ý sai số.
Muốn nhân ma trận với vector thì nhập vector như thế nào?
Để tính ma trận A nhân vector cột, hãy biểu diễn vector ở B bằng một cột, mỗi thành phần nằm trên một hàng. Số hàng của B phải bằng số cột của A và nằm trong giới hạn từ một đến năm. Ví dụ, A có hai cột thì vector bên phải cần kích thước 2×1. Đầu ra có một cột và số hàng bằng số hàng của A. Không cần chế độ riêng, nhưng nhập vector thành một hàng sẽ tạo điều kiện kích thước khác.
Có thể nhập số âm, số thập phân và phân số không?
Có thể nhập số âm và số thập phân dùng dấu chấm, nhưng không thể nhập trực tiếp phân số để công cụ tự diễn giải. Dấu gạch chéo bị bộ lọc loại bỏ, nên cách viết 1/2 không được đọc thành 0.5. Dấu phẩy thập phân cũng bị bỏ thay vì đổi thành dấu chấm. Nếu cần dùng phân số, bạn phải tự chuyển sang giá trị thập phân phù hợp và chấp nhận rằng một số phân số chỉ có thể được biểu diễn gần đúng.
Chuyển vị có thay đổi ma trận đang nhập không?
Không. Chuyển vị tạo và hiển thị một ma trận kết quả mới, còn các ô của ma trận gốc vẫn giữ nguyên. Ví dụ, chuyển vị một bảng 2×3 cho đầu ra 3×2 nhưng không làm bảng nhập tự đổi kích thước. Kết quả cũng không tự chuyển sang A hoặc B cho phép tính tiếp theo. Nếu muốn dùng bản chuyển vị làm đầu vào, bạn cần nhập lại, đồng thời lưu ý rằng điều chỉnh kích thước sẽ xóa dữ liệu của ma trận đang chỉnh.
Vì sao đổi kích thước làm mất số đã nhập, còn làm mới không trở về 3×3?
Vì hai thao tác có hành vi khác nhau trong mã. Đổi kích thước tạo lại toàn bộ lưới nhập của ma trận được điều chỉnh, không giữ các phần tử cũ. Làm mới tạo lại cả hai lưới theo số hàng và số cột đang chọn, rồi ẩn vùng kết quả. Kích thước 3×3 chỉ là trạng thái khởi tạo, không phải đích của thao tác làm mới. Nếu cần bảo toàn số liệu, hãy ghi lại trước khi thay đổi hình dạng bảng hoặc xóa ô.
Cần kiểm tra gì khi kết quả hiện 0 hoặc NaN bất thường?
Trước hết, kiểm tra các ô trống, cách viết số và việc bạn đã tính lại sau lần chỉnh sửa gần nhất hay chưa. Giá trị 0 có thể là kết quả đúng, nhưng cũng có thể xuất phát từ ô trống hoặc chuỗi không đọc được thành số. Với NaN, cần lưu ý giá trị cực lớn, cực nhỏ hoặc vấn đề định dạng hiển thị. Không nên quy mọi trường hợp về cùng một nguyên nhân; hãy đối chiếu phép tính đơn giản hơn và không dùng kết quả bất thường làm cơ sở cho bước tính tiếp theo.


25 bình luận
Đỗ Ngọc Hùng
Mình thích mục Các Công Cụ Tương Tự, đang tính ma trận có thể tìm thêm công cụ khác mà không phải tra lại.
Nguyễn Thanh Nga
Có cách nào sao chép nguyên ma trận kết quả để dán vào Word không ạ?
Trần Gia Hải
Góp ý nhỏ là trên điện thoại nên để các ô nhập rộng hơn chút, nhập số nhiều chữ số sẽ dễ hơn.
Phạm Đức Phúc
ad them vi du mau cho nguoi moi voi, minh vao lan dau chua biet nen nhap thu gi
Huỳnh Văn Phương
Ước gì nhập được dữ liệu bằng cách dán từ Excel, làm ma trận nhiều hàng sẽ tiện hơn.
Đỗ Đức Kiên
Có hỗ trợ nhân ma trận vuông cấp 4 hoặc cấp 5 không mọi người? Mình đang cần kiểm tra một bài dài.
Lê Văn Nhung
Kết quả A × B hiển thị gọn gàng, mình đối chiếu với bài tính tay khá dễ.
Trần Quốc Thủy
Nếu kích thước hai ma trận không phù hợp, mong công cụ báo cụ thể cần sửa ma trận nào.
Hoàng Xuân Sơn
xịn á, cứu tui đoạn kiểm tra đáp án ma trận, chứ tính tay xong cứ sợ sai dấu =)))
Dương Tiến Quang
Hai ma trận không cùng kích thước có nhân được không ạ? Mình hơi rối chỗ điều kiện số hàng với số cột.