Hệ thống phương trình tuyến tính có thể được giải quyết với các mảng và numpy. Một hệ thống phương trình tuyến tính được hiển thị bên dưới: $$ 3x + 4Y - 12Z = 35 $$ Chức năng Các bước để giải hệ phương trình tuyến tính với Các mảng kết quả có ba mục. Một mục cho mỗi biến. In [1]: A = np.array[[[8, 3, -2], [-4, 7, 5], [3, 4, -12]]]
b = np.array[[9, 15, 35]]
x = np.linalg.solve[A, b]
x
Hệ thống phương trình tuyến tính
np.linalg.solve[]
của Numpy có thể được sử dụng để giải hệ phương trình này cho các biến X, Y và Z.x, y and z. np.linalg.solve[]
bên dưới:A
dưới dạng một mảng 3 x 3 của các hệ sốb
là phía bên phải của các phương trìnhnp.linalg.solve[A, b]
.x, y and
z using np.linalg.solve[A, b]
. import numpy as np
Out[1]:
array[[-0.58226371, 3.22870478, -1.98599767]]Chúng ta có thể cắm giá trị của X, Y và Z trở lại vào một trong các phương trình để kiểm tra câu trả lời.x, y and z back into one of the equations to check the answer.
X là mục đầu tiên của mảng, y là mục thứ hai của mảng và Z là mục thứ ba của mảng. is the first entry of the array, y is the second entry of the array, and z is the third entry of the array.
x = x[0]
= x[0]
y = array[[-0.58226371, 3.22870478, -1.98599767]]
0 =
array[[-0.58226371, 3.22870478, -1.98599767]]0
z = array[[-0.58226371, 3.22870478, -1.98599767]]
1 =
array[[-0.58226371, 3.22870478, -1.98599767]]1
Khi các giá trị này được cắm vào phương trình từ trên:
Câu trả lời phải là
array[[-0.58226371, 3.22870478, -1.98599767]]2.
Giải một phương trình ma trận tuyến tính hoặc hệ thống phương trình vô hướng tuyến tính.
Tính toán giải pháp chính xác của người Viking, x, của các phương trình ma trận tuyến tính được xác định rõ ràng, tức là Ax = b.
Tham số [Mạnh, m, m] mảnga[…, M, M] array_likeMa trận hệ số.
B {[Mạnh, M,], [Mạnh, M, K]}, Array_Like{[…, M,], […, M, K]}, array_likeCác giá trị biến phụ thuộc hoặc của các giá trị phụ thuộc.
ReturnSx {[Mạnh, m,], [Mạnh, m, k]} ndarrayx{[…, M,], […, M, K]} ndarrayGiải pháp cho hệ thống a x = b. Hình dạng trả lại giống hệt với b.
RisislinalgerrorNếu A là số ít hoặc không vuông.
Ghi chú
Mới trong phiên bản 1.8.0.
Các quy tắc phát sóng áp dụng, xem tài liệu
array[[-0.58226371, 3.22870478, -1.98599767]]3 để biết chi tiết.
Các giải pháp được tính toán bằng cách sử dụng thói quen Lapack
array[[-0.58226371, 3.22870478, -1.98599767]]4.
Phải là hình vuông và có thứ hạng đầy đủ, tức là, tất cả các hàng [hoặc, tương đương, các cột] phải độc lập tuyến tính; Nếu một trong hai không đúng, hãy sử dụng
array[[-0.58226371, 3.22870478, -1.98599767]]5 cho các giải pháp tốt nhất tốt nhất của hệ thống/phương trình.
Người giới thiệu
1G. Strang, Đại số tuyến tính và các ứng dụng của nó, tái bản lần 2, Orlando, FL, Academy Press, Inc., 1980, pg. 22.
Ví dụ
Giải quyết hệ phương trình
array[[-0.58226371, 3.22870478, -1.98599767]]6 và
array[[-0.58226371, 3.22870478, -1.98599767]]7:
>>> a = np.array[[[1, 2], [3, 5]]] >>> b = np.array[[1, 2]] >>> x = np.linalg.solve[a, b] >>> x array[[-1., 1.]]
Kiểm tra xem giải pháp có chính xác không:
>>> np.allclose[np.dot[a, x], b] True