Trước khi đi vào chủ đề về cách tạo Ma trận NXNXM trong Python, chúng ta phải xác định Ma trận bao gồm những gì trong ngôn ngữ lập trình phổ biến này
Khi chúng ta nói về Ma trận trong Python, chúng ta đang đề cập đến một mảng dữ liệu hình chữ nhật hai chiều chuyên biệt, được lưu trữ trong các hàng và cột. Trong ma trận này, có thể có dữ liệu ở dạng số, chuỗi, ký hiệu, biểu thức, v.v. Ma trận là một trong những cấu trúc dữ liệu quan trọng có thể được sử dụng trong tính toán toán học và khoa học
Ma trận hoạt động như thế nào trong Python?
Dữ liệu bên trong ma trận trông giống như dữ liệu được hiển thị trong biểu đồ này
Bước đầu tiên
Ở đây một ma trận 2x2 được hiển thị, trong đó hai hàng và hai cột được quan sát. Dữ liệu trong ma trận này được trình bày dưới dạng số, trong đó các giá trị 2, 3 được quan sát ở hàng một và các giá trị 4, 5 ở hàng hai. Trong các cột, có cột một mang giá trị 3 và 4 và cột hai mang giá trị 3 và 5
Bước thứ hai
Một ma trận 2 x 3 hơi khác được hiển thị với hai hàng và ba cột. Dữ liệu trong hàng đầu tiên có giá trị 2, 3, 4 và trong hàng thứ hai, nó có giá trị 5, 6, 7. Cột đầu tiên có giá trị 2. 5, cột thứ hai có giá trị 3. 6 và cột thứ ba có giá trị 4. 7
Tương tự, bạn có thể lưu trữ dữ liệu của mình bên trong Ma trận nxn trong Python. Có thể thực hiện nhiều phép toán cộng, trừ, nhân, v.v.
Tạo Ma trận Python bằng kiểu dữ liệu danh sách lồng nhau
Trong Python, Ma trận được biểu diễn bằng kiểu dữ liệu danh sách. Chúng tôi sẽ hướng dẫn bạn cách tạo ma trận 3x3 bằng danh sách
Ma trận được tạo thành từ ba hàng và ba cột
- Hàng số một trong định dạng danh sách sẽ có dữ liệu sau. [8,14, -6]
- Hàng số hai sẽ là. [12,7,4]
- Hàng số ba sẽ là. [-11,3,21]
Ma trận trong một danh sách với tất cả các hàng và cột có thể trông như thế này
Danh sách = [[Hàng1],
[Hàng2],
[Hàng3]
.
[RowN]]
Vậy theo mảng trên thì kiểu danh sách dữ liệu trực tiếp của Ma trận như sau
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Cách chúng ta có thể đọc dữ liệu vào Ma trận Python khi sử dụng danh sách
Chúng tôi sẽ sử dụng ma trận trước. Ví dụ sẽ đọc dữ liệu, in Ma trận, hiển thị phần tử cuối mỗi hàng
Năm 2017 sẽ mãi khắc sâu trong ký ức của chúng ta khi Python vượt qua R để trở thành ngôn ngữ hàng đầu cho Khoa học dữ liệu. Có nhiều yếu tố ảnh hưởng đến điều này. Cú pháp đơn giản của Python, hệ sinh thái PyData tuyệt vời và tất nhiên là mua từ BDFL của Python
PEP 465 đã giới thiệu toán tử trung tố
A = np.matrix['3 1; 8 2'] A9 được chỉ định sử dụng để nhân ma trận. Việc chấp nhận và triển khai đề xuất này trong Python 3. 5 là một tín hiệu cho cộng đồng khoa học rằng Python đang rất coi trọng vai trò là ngôn ngữ tính toán số
Tôi là sinh viên chuyên ngành Toán học ở trường đại học nên ma trận rất gần gũi và thân thương đối với tôi. Cảm ơn Giáo sư Jeff Orchard vì đã cho chúng tôi thực hiện các thuật toán ma trận trong C++. Khóa học Đại số tuyến tính số của anh ấy là lớp học tốt nhất mà tôi từng tham gia
Trong bài đăng này, chúng ta sẽ khám phá toán tử
A = np.matrix['3 1; 8 2'] A9
Trong 1]
import numpy as np
Trong 2]
A = np.matrix['3 1; 8 2'] A
Ra[2]
matrix[[[3, 1], [8, 2]]]
Trong 3]
B = np.matrix['6 1; 7 9'] B
Ra[3]
matrix[[[6, 1], [7, 9]]]
Trong [4]
A @ B
Ra[4]
________số 8
Hãy xác nhận điều này hoạt động
Trong [5]
# element at the top left. i.e. [1, 1] aka [0, 0] in python A[0, 0] * B[0, 0] + A[0, 1] * B[1, 0]
Ra[5]
A = np.matrix['3 1; 8 2'] A0
Trong [6]
A = np.matrix['3 1; 8 2'] A1
Ra[6]
A = np.matrix['3 1; 8 2'] A0
Trong [7]
A = np.matrix['3 1; 8 2'] A1
Ra[7]
A = np.matrix['3 1; 8 2'] A2
Trong [8]
A = np.matrix['3 1; 8 2'] A3
Ra[8]
A = np.matrix['3 1; 8 2'] A4
Trong [9]
A = np.matrix['3 1; 8 2'] A5
Ra[9]
________số 8
Trong [10]
A = np.matrix['3 1; 8 2'] A7
Ra[10]
A = np.matrix['3 1; 8 2'] A8
có vẻ tốt
Mô hình dữ liệu Python chỉ định rằng toán tử
A = np.matrix['3 1; 8 2'] A9 gọi
matrix[[[3, 1], [8, 2]]]3 và
matrix[[[3, 1], [8, 2]]]4
Chúng ta có thể quá tải
A = np.matrix['3 1; 8 2'] A9 bằng cách xác định hành vi tùy chỉnh cho từng phương thức đặc biệt ở trên, nhưng điều này sẽ dẫn đến việc API của chúng ta không phải là Pythonic