Trong lập trình Python, ma trận là một trong những khái niệm quan trọng và được sử dụng rộng rãi trong nhiều ứng dụng. Với khả năng biểu diễn dữ liệu đa chiều và thực hiện các phép toán trên ma trận một cách nhanh chóng, ma trận giúp cho các bài toán tính toán trở nên dễ dàng và tiện lợi hơn bao giờ hết. Trong bài viết này, chúng ta sẽ tìm hiểu về cách khởi tạo và thao tác với ma trận trong Python. Hãy cùng bắt đầu khám phá về ma trận trong Python!
Sử dụng NumPy cho ma trận
Trong ma trận Python, NumPy là một thư viện mã nguồn mở được sử dụng để làm việc với mảng và ma trận. NumPy được viết bằng ngôn ngữ lập trình Python và C, và nó là một trong những thư viện phổ biến nhất cho tính toán khoa học và số học trong Python.
Trong NumPy, ma trận được biểu diễn bằng một đối tượng mảng (array). Mảng NumPy là một đối tượng có thể chứa nhiều giá trị, được xác định bởi một số chiều. Đối tượng mảng NumPy cũng cung cấp nhiều phương thức để thao tác và tính toán trên các ma trận, chẳng hạn như phép nhân ma trận, chuyển vị ma trận, tìm giá trị lớn nhất, tìm trung bình, vv. Nó giúp cho việc tính toán và xử lý ma trận trở nên đơn giản hơn và nhanh chóng hơn trong Python.
Hướng dẫn crack abbyy finereader 15 mới nhất
Cách tạo array của NumPy
Dưới đây là các cách tạo ra array của NumPy:
Mảng số nguyên, số thực, số phức (integer, float, complex)
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]]) # mảng số thực
print(A)
A = np.array([[1, 2, 3], [3, 4, 5]], dtype = complex) # mảng số phức
print(A)
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]]
Mảng giá trị mặc định (0 và 1)
import numpy as np
# Mọi phần tử đều là 0
A = np.zeros( (2, 3) )
print(A)
# Output:
[[0. 0. 0.] [0. 0. 0.]]# Mọi phần tử đều là 1
B = np.ones( (1, 5) )
print(B)
# Output: [[1 1 1 1 1]]
Ví dụ về ma trận trong Python
Trong Python, chúng ta có thể biểu diễn ma trận dưới dạng một nested list. Thực chất Nested list là một dạng danh sách lồng ghép. Một list xuất hiện với vai trò là phần tử của một list khác. Nó được sử dụng để trình bày ma trận trong Python. Chẳng hạn:
A = [[1, 4, 5],
[-5, 8, 9]]Để kết xuất phần tử từ ma trận, bạn có thể chọn một hàng của ma trận theo dạng chỉ số kép hoặc theo các thông thường. Chỉ số thứ nhất chọn hàng, chỉ số thứ 2 chọn cột. Chẳng hạn:
A = [[1, 4, 5, 12],
[-5, 8, 9, 0], [-6, 7, 11, 19]]print(“A =”, A)
print(“A[1] =”, A[1]) # Hàng thứ 2 của ma trân
print(“A[1][2] =”, A[1][2]) # Phần tử thứ 3 của hàng thứ 2
print(“A[0][-1] =”, A[0][-1]) # Phần tử cuối cùng của hàng 1
column = [];
for row in A:
column.append(row[2])
print(“Cột thứ 3 =”, column)
Khi tiến hành chạy chương trình, output được trả về như sau:
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
Cột thứ 3 = [5, 9, 11]
Link tải visio bản full miễn phí
Một số thao tác tính toán với ma trận trong Python
Dưới đây là 3 phép toán cơ bản nhất được sử dụng trong ma trận mà các bạn có thể tham khảo:
Nhân 2 ma trận
Đây là phép tính lấy tổng của tích từng phần tử của hàng tương ứng với cột tương ứng. Phép tính này chỉ xảy ra khi số cột của ma trận A bằng số hàng của ma trận B.
Ví dụ như sau:
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]]Cộng 2 ma trận
Với phép tính này, bạn thực hiện cộng từng phần tử tương ứng của 2 ma trận cùng cấp với nhau.
import numpy as np
A = np.array([[2, 4], [5, -6]])
B = np.array([[9, -3], [3, 6]])
C = A + B
print(C)
”’
Output:
[[11 1] [ 8 0]]”’
Chuyển vị ma trận
Đây là phép tính biến hàng thành cột và biến cột thành hàng trong một ma trận.
import numpy as np
A = np.array([[1, 1], [2, 1], [3, -3]])
print(A.transpose())
#Output:
[[ 1 2 3] [ 1 1 -3]]Hướng dẫn tải CorelDRAW X8 bản chuẩn miễn phí
Xuất các phần tử, cột, dòng của ma trận python
Dưới đây là hướng dẫn xuất các phần tử của ma trận trong Python:
Xuất các dòng
import numpy as np
A = np.array([[2, 5, 6, 13],
[-2, 8, 6, 14], [-2, 6, 12, 24]])print(“A[0] =”, A[0]) # Dòng đầu tiên
print(“A[2] =”, A[2]) # Dòng thứ 3
print(“A[-1] =”, A[-1]) # Dòng cuối cùng (dòng thứ 3)
Output được trả về ở đây là:
A[0] = [2, 5, 6, 13]
A[2] = [-2, 6, 12, 24]
A[-1] = [-2, 6, 12, 24]
Xuất các phần tử
Các bạn có thể xuất các phần tử bằng NumPy. Chẳng hạn:
import numpy as np
A = np.array([10, 12, 14, 16, 18])
print(“A[0] =”, A[0]) # phần tử đầu tiên
print(“A[2] =”, A[2]) # phần tử thứ 3
print(“A[-1] =”, A[-1]) # phần tử cuối cùng
Output được trả về ở đây là:
A[0] = 10
A[2] = 14
A[-1] = 18.
Xuất các cột
import numpy as np
A = np.array([[2, 4, 5, 13],
[-3, 8, 6, 15], [-2, 5, 10, 23]])print(“A[:,0] =”,A[:,0]) # Cột đầu tiên
print(“A[:,3] =”, A[:,3]) # Cột thứ 4
print(“A[:,-1] =”, A[:,-1]) # Cột cuối cùng (Cột thứ 4)
Output được trả về:
A[:,0] = [ 2 -3 -2]
A[:,3] = [13 15 23]
A[:,-1] = [13 15 23]
Trong bài viết này, chúng ta đã tìm hiểu về ma trận trong Python và cách sử dụng thư viện NumPy để thao tác với ma trận một cách nhanh chóng và hiệu quả. Chúng ta đã cùng nhau học cách khởi tạo, truy xuất, cộng/trừ/nhân/divide ma trận và nhiều hơn nữa. Hy vọng những kiến thức về ma trận trong Python này sẽ giúp ích cho các bạn trong quá trình học tập và nghiên cứu thêm về lĩnh vực khoa học máy tính và trí tuệ nhân tạo.