Hướng dẫn is python good for matrix? - python có tốt cho ma trận không?

Ma trận là cấu trúc dữ liệu hai chiều trong đó các số được sắp xếp thành các hàng và cột. Ví dụ:

Hướng dẫn is python good for matrix? - python có tốt cho ma trận không?

Ma trận này là ma trận 3x4 (phát âm là "ba by bốn") vì nó có 3 hàng và 4 cột.


Python không có loại tích hợp cho ma trận. Tuy nhiên, chúng tôi có thể coi một danh sách một danh sách là một ma trận. Ví dụ:

A = [[1, 4, 5], 
    [-5, 8, 9]]

Chúng ta có thể coi danh sách này của một danh sách là một ma trận có 2 hàng và 3 cột.

Hướng dẫn is python good for matrix? - python có tốt cho ma trận không?

Hãy chắc chắn tìm hiểu về danh sách Python trước khi tiến hành bài viết này.


Hãy xem cách làm việc với một danh sách lồng nhau.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)

Khi chúng tôi chạy chương trình, đầu ra sẽ là:

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]

Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.

  • Thêm hai ma trận
  • Chuyển một ma trận
  • Nhân hai ma trận

Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.


Mảng numpy

Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,

  • Truy cập: Làm thế nào để cài đặt Numpy?
  • Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.

Khi Numpy được cài đặt, bạn có thể nhập và sử dụng nó.


Numpy cung cấp mảng số đa chiều (thực sự là một đối tượng). Hãy lấy một ví dụ:

import numpy as np
a = np.array([1, 2, 3])
print(a)               # Output: [1, 2, 3]
print(type(a))         # Output: 

Như bạn có thể thấy, lớp mảng của Numpy được gọi là

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
1.


Làm thế nào để tạo ra một mảng numpy?

Có một số cách để tạo ra các mảng numpy.


1. Mảng số nguyên, phao và số phức tạp

import numpy as np

A = np.array([[1, 2, 3], [3, 4, 5]])
print(A)

A = np.array([[1.1, 2, 3], [3, 4, 5]]) # Array of floats
print(A)

A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # Array of complex numbers
print(A)

Khi bạn chạy chương trình, đầu ra sẽ là:

[[1 2 3]
 [3 4 5]]

[[1.1 2.  3. ]
 [3.  4.  5. ]]

[[1.+0.j 2.+0.j 3.+0.j]
 [3.+0.j 4.+0.j 5.+0.j]]

2. Mảng số không và những cái

import numpy as np

zeors_array = np.zeros( (2, 3) )
print(zeors_array)

'''
 Output:
 [[0. 0. 0.]
  [0. 0. 0.]]
'''

ones_array = np.ones( (1, 5), dtype=np.int32 ) // specifying dtype
print(ones_array)      # Output: [[1 1 1 1 1]]

Ở đây, chúng tôi đã chỉ định

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
2 đến 32 bit (4 byte). Do đó, mảng này có thể lấy các giá trị từ
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
3 đến
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
4.


3. Sử dụng Arange () và Shape ()

import numpy as np

A = np.arange(4)
print('A =', A)

B = np.arange(12).reshape(2, 6)
print('B =', B)

''' 
Output:
A = [0 1 2 3]
B = [[ 0  1  2  3  4  5]
 [ 6  7  8  9 10 11]]
'''

Tìm hiểu thêm về các cách khác để tạo ra một mảng numpy.


Hoạt động ma trận

Trên đây, chúng tôi đã đưa cho bạn 3 ví dụ: bổ sung hai ma trận, nhân hai ma trận và chuyển đổi ma trận. Chúng tôi đã sử dụng danh sách lồng nhau trước đây để viết các chương trình đó. Hãy xem làm thế nào chúng ta có thể thực hiện cùng một nhiệm vụ bằng cách sử dụng mảng numpy.


Bổ sung hai ma trận

Chúng tôi sử dụng toán tử

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
5 để thêm các phần tử tương ứng của hai ma trận numpy.

import numpy as np

A = np.array([[2, 4], [5, -6]])
B = np.array([[9, -3], [3, 6]])
C = A + B      # element wise addition
print(C)

''' 
Output:
[[11  1]
 [ 8  0]]
 '''

Nhân hai ma trận

Để nhân hai ma trận, chúng tôi sử dụng phương pháp

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
6. Tìm hiểu thêm về cách Numpy.dot hoạt động.

Lưu ý:

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
7 được sử dụng để nhân mảng (nhân các phần tử tương ứng của hai mảng) không nhân Matrix.
A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
7 is used for array multiplication (multiplication of corresponding elements of two arrays) not matrix multiplication.

import numpy as np

A = np.array([[3, 6, 7], [5, -3, 0]])
B = np.array([[1, 1], [2, 1], [3, -3]])
C = A.dot(B)
print(C)

''' 
Output:
[[ 36 -12]
 [ -1   2]]
'''

Chuyển đổi ma trận

Chúng tôi sử dụng numpy.transpose để tính toán chuyển đổi của một ma trận.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
0

Như bạn có thể thấy, Numpy làm cho nhiệm vụ của chúng tôi dễ dàng hơn nhiều.


Truy cập các phần tử, hàng và cột Ma trận truy cập

Truy cập các yếu tố ma trận

Tương tự như danh sách, chúng ta có thể truy cập các yếu tố ma trận bằng chỉ mục. Hãy bắt đầu với một mảng numpy một chiều.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
1

Khi bạn chạy chương trình, đầu ra sẽ là:

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
2

2. Mảng số không và những cái

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
3

Khi chúng tôi chạy chương trình, đầu ra sẽ là:

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
4

Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
5

Khi chúng tôi chạy chương trình, đầu ra sẽ là:

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
6

Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.

Thêm hai ma trận

Khi chúng tôi chạy chương trình, đầu ra sẽ là:

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
8

Dưới đây là một vài ví dụ khác liên quan đến ma trận Python sử dụng danh sách lồng nhau.


Thêm hai ma trận

Chuyển một ma trận

Nhân hai ma trận

A = [[1, 4, 5, 12], 
    [-5, 8, 9, 0],
    [-6, 7, 11, 19]]

print("A =", A) 
print("A[1] =", A[1])      # 2nd row
print("A[1][2] =", A[1][2])   # 3rd element of 2nd row
print("A[0][-1] =", A[0][-1])   # Last element of 1st Row

column = [];        # empty list
for row in A:
  column.append(row[2])   

print("3rd column =", column)
9

Sử dụng danh sách lồng nhau làm ma trận hoạt động cho các tác vụ tính toán đơn giản, tuy nhiên, có một cách làm việc tốt hơn với ma trận trong Python bằng gói Numpy.

A = [[1, 4, 5, 12], [-5, 8, 9, 0], [-6, 7, 11, 19]]
A[1] = [-5, 8, 9, 0]
A[1][2] = 9
A[0][-1] = 12
3rd column = [5, 9, 11]
0

Mảng numpy

Numpy là một gói cho máy tính khoa học có hỗ trợ cho một đối tượng mảng N chiều mạnh mẽ. Trước khi bạn có thể sử dụng Numpy, bạn cần cài đặt nó. Để biết thêm thông tin,

  • Truy cập: Làm thế nào để cài đặt Numpy?
  • Nếu bạn đang ở trên Windows, hãy tải xuống và cài đặt phân phối Anaconda của Python. Nó đi kèm với Numpy và một số gói khác liên quan đến khoa học dữ liệu và học máy.

Bạn có thể thực hiện các hoạt động ma trận trong Python không?

Chúng ta có thể dễ dàng thực hiện thao tác ma trận trong Python bằng thư viện Numpy. Numpy là một gói Python. Nó là viết tắt của 'Python số'. Nó là một thư viện bao gồm các đối tượng mảng đa chiều và một bộ sưu tập các thói quen để xử lý mảng.. NumPy is a Python package. It stands for 'Numerical Python'. It is a library consisting of multidimensional array objects and a collection of routines for processing of array.

Có thư viện ma trận cho Python không?

Gói Numpy chứa một thư viện ma trận Numpy..

Làm thế nào để bạn lập trình một ma trận trong Python?

Trong Python, chúng ta có thể triển khai ma trận dưới dạng danh sách lồng nhau (danh sách bên trong danh sách).Chúng ta có thể coi từng phần tử như một hàng của ma trận.Ví dụ: x = [[1, 2], [4, 5], [3, 6]] sẽ đại diện cho ma trận 3x2.Hàng đầu tiên có thể được chọn là x [0] và phần tử ở hàng đầu tiên, cột đầu tiên có thể được chọn là x [0] [0].implement a matrix as a nested list (list inside a list). We can treat each element as a row of the matrix. For example X = [[1, 2], [4, 5], [3, 6]] would represent a 3x2 matrix. First row can be selected as X[0] and the element in first row, first column can be selected as X[0][0] .

Python có nhân số ma trận không?

Numpy là một thư viện Python phổ biến cung cấp một loạt các chức năng toán học mạnh mẽ.Thư viện được sử dụng rộng rãi trong các lĩnh vực định lượng, chẳng hạn như khoa học dữ liệu, học máy và học sâu.Chúng ta có thể sử dụng Numpy để thực hiện các tính toán toán học phức tạp, chẳng hạn như phép nhân ma trận.We can use NumPy to perform complex mathematical calculations, such as matrix multiplication.