Thuật toán hoán vị ma trận trong python

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ố 8

ma 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

Chủ Đề