Ma trận Python là 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. Dữ liệu trong ma trận có thể là số, chuỗi, biểu thức, ký hiệu, 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
Trong hướng dẫn Python này, bạn sẽ học
Ma trận Python hoạt động như thế nào?
Dữ liệu bên trong mảng hai chiều dạng ma trận có dạng như sau
Bước 1]
Nó hiển thị một ma trận 2 × 2. Nó có hai hàng và 2 cột. Dữ liệu bên trong ma trận là các số. Hàng1 có giá trị 2,3 và hàng2 có giá trị 4,5. Các cột, tôi. e. , col1, có giá trị 2,4 và col2 có giá trị 3,5
Bước 2]
Nó hiển thị một ma trận 2 × 3. Nó có hai hàng và ba cột. Dữ liệu bên trong hàng đầu tiên, tôi. e. , row1, có giá trị 2,3,4 và row2 có giá trị 5,6,7. Các cột col1 có giá trị 2,5, col2 có giá trị 3,6 và col3 có giá trị 4,7
Tương tự như vậy, bạn có thể lưu trữ dữ liệu của mình bên trong ma trận nxn trong Python. Rất nhiều phép toán có thể được thực hiện trên một phép cộng, phép trừ, phép nhân, v.v.
Python không có cách đơn giản để triển khai kiểu dữ liệu ma trận
Ma trận python sử dụng các mảng và có thể thực hiện tương tự
- Tạo Ma trận Python bằng kiểu dữ liệu danh sách lồng nhau
- Tạo Ma trận Python bằng Mảng từ gói Python Numpy
Tạo Ma trận Python bằng kiểu dữ liệu danh sách lồng nhau
Trong Python, các mảng được biểu diễn bằng kiểu dữ liệu danh sách. Vì vậy, bây giờ sẽ sử dụng danh sách để tạo ma trận python
Chúng ta sẽ tạo một ma trận 3×3, như hình bên dưới
- Ma trận có 3 hàng và 3 cột
- Hàng đầu tiên trong định dạng danh sách sẽ như sau. [8,14,-6]
- Hàng thứ hai trong danh sách sẽ là. [12,7,4]
- Hàng thứ ba trong danh sách sẽ là. [-11,3,21]
Ma trận bên trong một danh sách với tất cả các hàng và cột như hình bên dưới
List = [[Row1], [Row2], [Row3] ... [RowN]]
Vì vậy, theo ma trận được liệt kê ở trên, loại danh sách với dữ liệu ma trận như sau
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]
Để đọc dữ liệu bên trong Ma trận Python bằng danh sách
Chúng tôi sẽ sử dụng ma trận được xác định ở trên. Ví dụ sẽ đọc dữ liệu, in ma trận, hiển thị phần tử cuối cùng từ mỗi hàng
Ví dụ. Để in ma trận
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]
đầu ra
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]
ví dụ 2. Để đọc phần tử cuối cùng từ mỗi hàng
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] matrix_length = len[M1] #To read the last element from each row. for i in range[matrix_length]: print[M1[i][-1]]
đầu ra
-6 4 21
ví dụ 3. Để in các hàng trong Ma trận
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] matrix_length = len[M1] #To print the rows in the Matrix for i in range[matrix_length]: print[M1[i]]
đầu ra
[8, 14, -6] [12, 7, 4] [-11, 3, 21]
Thêm ma trận bằng danh sách lồng nhau
Ta có thể dễ dàng cộng hai ma trận đã cho. Các ma trận ở đây sẽ ở dạng danh sách. Hãy để chúng tôi làm việc trên một ví dụ sẽ cẩn thận để thêm các ma trận đã cho
ma trận 1
________số 8ma trận 2
M2 = [[3, 16, -6], [9,7,-4], [-1,3,13]]
Lần cuối sẽ khởi tạo một ma trận sẽ lưu trữ kết quả của M1 + M2
ma trận 3
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]0
Ví dụ. Thêm ma trận
Để thêm vào, các ma trận sẽ sử dụng vòng lặp for sẽ lặp qua cả hai ma trận đã cho
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]1
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]2
Phép nhân ma trận bằng cách sử dụng Danh sách lồng nhau
Để nhân các ma trận, chúng ta có thể sử dụng vòng lặp for trên cả hai ma trận như trong đoạn mã dưới đây
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]3
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]4
Tạo Ma trận Python bằng Mảng từ gói Python Numpy
Thư viện python Numpy giúp xử lý mảng. Numpy xử lý một mảng nhanh hơn một chút so với danh sách
Để làm việc với Numpy, bạn cần cài đặt nó trước. Thực hiện theo các bước dưới đây để cài đặt Numpy
Bước 1]
Lệnh cài đặt Numpy là
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]5
Bước 2]
Để sử dụng Numpy trong mã của bạn, bạn phải nhập nó
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]6
Bước 3]
Bạn cũng có thể nhập Numpy bằng bí danh, như hình bên dưới
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]7
Chúng ta sẽ sử dụng phương thức array[] từ Numpy để tạo ma trận python
Ví dụ. Mảng trong Numpy để tạo Ma trận Python
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]8
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]9
Hoạt động ma trận sử dụng Numpy. Mảng[]
Các phép toán ma trận có thể thực hiện là cộng, trừ, nhân, hoán vị, đọc hàng, cột của ma trận, cắt ma trận, v.v. Trong tất cả các ví dụ, chúng ta sẽ sử dụng phương thức array[]
Bổ sung ma trận
Để thực hiện phép cộng trên ma trận, chúng ta sẽ tạo hai ma trận bằng cách sử dụng numpy. mảng [] và thêm chúng bằng toán tử [+]
Ví dụ
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]0
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]1
Phép trừ ma trận
Để thực hiện phép trừ trên ma trận, chúng ta sẽ tạo hai ma trận bằng cách sử dụng numpy. mảng [] và trừ chúng bằng toán tử [-]
Ví dụ
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]2
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]3
Phép nhân ma trận
Đầu tiên sẽ tạo hai ma trận bằng cách sử dụng numpy. mảng[]. Để nhân chúng theo ý muốn, bạn có thể sử dụng phương thức numpy dot[]. Nặng nề. dot[] là tích vô hướng của ma trận M1 và M2. Nặng nề. dot[] xử lý mảng 2D và thực hiện phép nhân ma trận
Ví dụ
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]4
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]5
Chuyển vị ma trận
Phép chuyển vị của ma trận được tính bằng cách đổi hàng thành cột và cột thành hàng. Hàm transpose[] từ Numpy có thể được sử dụng để tính toán chuyển vị của ma trận
Ví dụ
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]6
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]7
Cắt ma trận
Cắt lát sẽ trả về cho bạn các phần tử từ ma trận dựa trên chỉ số bắt đầu/kết thúc đã cho
- Cú pháp để cắt lát là – [bắt đầu. chấm dứt]
- Nếu chỉ số bắt đầu không được đưa ra, nó được coi là 0. Ví dụ [. 5], nó có nghĩa là [0. 5]
- Nếu phần cuối không được thông qua, nó sẽ lấy độ dài của mảng
- Nếu bắt đầu/kết thúc có giá trị âm, thì việc cắt sẽ được thực hiện từ cuối mảng
Trước khi chúng ta thực hiện việc cắt lát trên một ma trận, trước tiên chúng ta hãy hiểu cách áp dụng lát cắt trên một mảng đơn giản
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]8
đầu ra
M1 = [[8, 14, -6], [12,7,4], [-11,3,21]] #To print the matrix print[M1]9
Bây giờ chúng ta hãy thực hiện cắt trên ma trận. Để thực hiện cắt trên một ma trận
cú pháp sẽ là M1[row_start. row_end, col_start. col_end]
- Bắt đầu/kết thúc đầu tiên sẽ dành cho hàng, tôi. e để chọn các hàng của ma trận
- Bắt đầu/kết thúc thứ hai sẽ dành cho cột, tôi. e để chọn các cột của ma trận
Ma trận M1 mà chúng ta sẽ sử dụng như sau
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]0
Có tổng cộng 4 hàng. Chỉ số bắt đầu từ 0 đến 3. Hàng thứ 0 là [2,4,6,8,10], hàng thứ nhất là [3,6,9,-12,-15], tiếp theo là hàng thứ 2 và thứ 3
Ma trận M1 có 5 cột. Chỉ số bắt đầu từ 0 đến 4. Cột thứ 0 có giá trị [2,3,4,5], cột thứ nhất có giá trị [4,6,8,-10] theo sau là thứ 2, thứ 3, thứ 4 và thứ 5
Dưới đây là một ví dụ cho thấy cách lấy dữ liệu hàng và cột từ ma trận bằng cách cắt. Trong ví dụ này, chúng tôi đang in hàng thứ nhất và thứ hai và đối với các cột, chúng tôi muốn cột thứ nhất, thứ hai và thứ ba. Để có được đầu ra đó, chúng tôi đã sử dụng. M1[1. 3, 1. 4]
Ví dụ
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]1
đầu ra
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]2
Ví dụ. Để in tất cả các hàng và cột thứ ba
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]3
đầu ra
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]4
Ví dụ. Để in hàng đầu tiên và tất cả các cột
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]5
đầu ra
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]6
Ví dụ. Để in ba hàng đầu tiên và 2 cột đầu tiên
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]7
đầu ra
The Matrix M1 = [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]8
Truy cập ma trận NumPy
Chúng ta đã thấy cách cắt hoạt động. Cân nhắc điều đó, chúng ta sẽ làm cách nào để lấy các hàng và cột từ ma trận