Hướng dẫn how do you solve linear equations in python? - làm thế nào để bạn giải quyết các phương trình tuyến tính trong python?

Hệ thống phương trình tuyến tính

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 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.

Các bước để giải hệ phương trình tuyến tính với np.linalg.solve() bên dưới:

  • Tạo mảng numpy A dưới dạng một mảng 3 x 3 của các hệ số
  • Tạo một mảng numpy b là phía bên phải của các phương trình
  • Giải quyết các giá trị của x, y và z bằng np.linalg.solve(A, b).x, y and z using np.linalg.solve(A, b).

Các mảng kết quả có ba mục. Một mục cho mỗi biến.

In [1]:

import numpy as np

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

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.

linalg.solve (a, b) [nguồn]#solve(a, b)[source]#

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_like

Ma trận hệ số.

B {(Mạnh, M,), (Mạnh, M, K)}, Array_Like{(…, M,), (…, M, K)}, array_like

Cá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)} ndarray

Giải pháp cho hệ thống a x = b. Hình dạng trả lại giống hệt với b.

Risislinalgerror

Nế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

1

G. 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

Làm thế nào để bạn giải một phương trình tuyến tính trong hai biến trong Python?

Để giải hai phương trình cho hai biến X và Y, chúng tôi sẽ sử dụng hàm Sympy Solve ().Hàm giải quyết () có hai đối số, một tuple của các phương trình (eq1, eq2) và một tuple của các biến để giải cho (x, y).Đối tượng giải pháp Sympy là một từ điển Python.use SymPy's solve() function. The solve() function takes two arguments, a tuple of the equations (eq1, eq2) and a tuple of the variables to solve for (x, y) . The SymPy solution object is a Python dictionary.

Làm thế nào để bạn giải một phương trình tuyến tính trong Python mà không bị numpy?

Hãy xem xét a x = b ax = b ax = b, trong đó chúng ta cần giải cho x ...
Làm cho phần tử trong dòng cột với FD một máy đo ;.
Cập nhật hàng đó với [[hàng hiện tại] - Scale * [Hàng với FD] ;.
Một số 0 bây giờ sẽ nằm trong vị trí cột FD cho hàng đó ..

Python có thể giải quyết các hệ phương trình?

Trong Python, Numpy (Python số), SCIPY (Python khoa học) và các thư viện Sympy (Python biểu tượng) có thể được sử dụng để giải các hệ phương trình tuyến tính.Các thư viện này sử dụng khái niệm vector hóa cho phép chúng thực hiện tính toán ma trận một cách hiệu quả bằng cách tránh nhiều vòng cho các vòng lặp.NumPy (Numerical Python), SciPy (Scientific Python) and SymPy (Symbolic Python) libraries can be used to solve systems of linear equations. These libraries use the concept of vectorization which allow them to do matrix computations efficiently by avoiding many for loops.