Cách giải hai phương trình trong python

Thư viện Numpy có thể được sử dụng để thực hiện nhiều phép toán/khoa học khác nhau như tích chéo và tích ma trận, tìm giá trị sin và cosin, biến đổi Fourier và thao tác hình, v.v. Từ Numpy là ký hiệu viết tắt của "Numerical Python"

Trong bài viết này, bạn sẽ thấy cách giải một hệ phương trình tuyến tính bằng thư viện Numpy của Python

Hệ phương trình tuyến tính là gì?

Wikipedia định nghĩa một hệ phương trình tuyến tính là

Trong toán học, hệ phương trình tuyến tính (hay hệ phương trình tuyến tính) là tập hợp của hai hay nhiều phương trình tuyến tính chứa cùng một tập hợp các biến

Mục tiêu cuối cùng của việc giải một hệ phương trình tuyến tính là tìm các giá trị của các biến chưa biết. Dưới đây là một ví dụ về hệ phương trình tuyến tính với hai biến chưa biết,

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7

phương trình 1

4x  + 3y = 20
-5x + 9y = 26

Để giải hệ phương trình tuyến tính trên, ta cần tìm giá trị của biến

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7. Có nhiều cách để giải quyết một hệ thống như vậy, chẳng hạn như Loại bỏ các biến, Quy tắc Cramer, Kỹ thuật rút gọn hàng và Giải pháp ma trận. Trong bài viết này chúng tôi sẽ đề cập đến giải pháp ma trận

Trong giải ma trận, hệ phương trình tuyến tính cần giải được biểu diễn dưới dạng ma trận

X = inverse(A).B
0. Chẳng hạn, chúng ta có thể biểu diễn Phương trình 1 dưới dạng ma trận như sau

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]

Để tìm giá trị của các biến

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7 trong Công thức 1, ta cần tìm các giá trị trong ma trận
X = inverse(A).B
3. Để làm như vậy, chúng ta có thể lấy tích vô hướng của ma trận nghịch đảo
X = inverse(A).B
4 và ma trận
X = inverse(A).B
5 như hình bên dưới

X = inverse(A).B

Nếu bạn chưa quen với cách tìm ma trận nghịch đảo, hãy xem liên kết này để hiểu cách tìm nghịch đảo của ma trận theo cách thủ công. Để hiểu tích ma trận chấm, hãy xem bài viết này

Giải hệ phương trình tuyến tính với Numpy

Từ phần trước, chúng ta đã biết để giải một hệ phương trình tuyến tính, chúng ta cần thực hiện hai phép toán. nghịch đảo ma trận và tích ma trận chấm. Thư viện Numpy từ Python hỗ trợ cả hai hoạt động. Nếu bạn chưa cài đặt thư viện Numpy, bạn có thể thực hiện bằng lệnh

X = inverse(A).B
6 sau

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
4

Bây giờ chúng ta hãy xem cách giải hệ phương trình tuyến tính với thư viện Numpy

Sử dụng Phương thức inv() và dot()

Đầu tiên, chúng ta sẽ tìm nghịch đảo của ma trận

X = inverse(A).B
4 mà chúng ta đã xác định trong phần trước

Trước tiên hãy tạo ma trận

X = inverse(A).B
4 bằng Python. Để tạo ma trận, có thể sử dụng phương pháp
X = inverse(A).B
9 của mô-đun Numpy. Một ma trận có thể được coi là một danh sách các danh sách trong đó mỗi danh sách đại diện cho một hàng

Trong tập lệnh sau, chúng tôi tạo một danh sách có tên

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
40, danh sách này còn chứa hai danh sách.
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
41 và
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
42. Các danh sách này là hai hàng trong ma trận
X = inverse(A).B
4. Để tạo ma trận
X = inverse(A).B
4 với Numpy,
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
40 được truyền cho phương thức
X = inverse(A).B
9 như hình bên dưới

4x  + 3y = 20
-5x + 9y = 26
5

Để tìm nghịch đảo của ma trận, ma trận được chuyển đến phương thức

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
47 của mô-đun Numpy

4x  + 3y = 20
-5x + 9y = 26
7

Bước tiếp theo là tìm tích vô hướng giữa nghịch đảo của ma trận

X = inverse(A).B
4 và ma trận
X = inverse(A).B
5. Điều quan trọng cần lưu ý là tích ma trận chấm chỉ khả thi giữa các ma trận nếu kích thước bên trong của các ma trận bằng nhau i. e. số cột của ma trận bên trái phải bằng số hàng của ma trận bên phải

Để tìm tích chấm với thư viện Numpy, hàm

4x  + 3y = 20
-5x + 9y = 26
50 được sử dụng. Đoạn script sau tìm tích vô hướng giữa ma trận nghịch đảo
X = inverse(A).B
4 và ma trận
X = inverse(A).B
5, là nghiệm của phương trình 1

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
3

đầu ra

Hãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
4

Ở đây,

4x  + 3y = 20
-5x + 9y = 26
53 và
4x  + 3y = 20
-5x + 9y = 26
54 là các giá trị tương ứng của các ẩn số
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7 trong Công thức 1. Để kiểm chứng, nếu bạn thế
4x  + 3y = 20
-5x + 9y = 26
53 thay cho số chưa biết
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và
4x  + 3y = 20
-5x + 9y = 26
54 thay cho số chưa biết
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7 trong phương trình
4x  + 3y = 20
-5x + 9y = 26
71, bạn sẽ thấy kết quả sẽ là 20

Bây giờ chúng ta hãy giải một hệ gồm ba phương trình tuyến tính, như hình bên dưới

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
4

Phương trình trên có thể được giải bằng thư viện Numpy như sau

phương trình 2

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
5

Trong tập lệnh trên, các phương thức

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
47 và
4x  + 3y = 20
-5x + 9y = 26
50 được kết nối với nhau. Biến
X = inverse(A).B
3 chứa nghiệm của phương trình 2 và được in ra như sau

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
0

Giá trị của các ẩn số

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6,
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7 và
4x  + 3y = 20
-5x + 9y = 26
77 lần lượt là 5, 3 và -2. Bạn có thể thay các giá trị này vào Phương trình 2 và xác minh tính chính xác của chúng

Sử dụng phương thức giải quyết ()

Trong hai ví dụ trước, chúng ta đã sử dụng phương pháp

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
47 và
4x  + 3y = 20
-5x + 9y = 26
50 để tìm nghiệm của hệ phương trình. Tuy nhiên, thư viện Numpy chứa phương pháp
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
30, có thể được sử dụng để trực tiếp tìm nghiệm của hệ phương trình tuyến tính

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
1

đầu ra

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
0

Bạn có thể thấy rằng đầu ra giống như trước

Một ví dụ thực tế

Hãy xem làm thế nào một hệ phương trình tuyến tính có thể được sử dụng để giải quyết các vấn đề trong thế giới thực

Giả sử, một người bán trái cây đã bán được 20 quả xoài và 10 quả cam trong một ngày với tổng số tiền là 350 đô la. Ngày hôm sau anh ta bán 17 quả xoài và 22 quả cam với giá 500 đô la. Nếu giá của các loại trái cây không thay đổi trong cả hai ngày, hỏi giá của một quả xoài và một quả cam là bao nhiêu?

Bài toán này có thể giải dễ dàng bằng hệ hai phương trình tuyến tính

Giả sử giá của một quả xoài là

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
6 và giá của một quả cam là
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
7. Vấn đề trên có thể được chuyển đổi như thế này

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
3

Giải pháp cho hệ phương trình trên được hiển thị ở đây

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
4

Và đây là đầu ra

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
5

Kết quả cho thấy giá của một quả xoài là 10 đô la và giá của một quả cam là 15 đô la

Phần kết luận

Bài viết hướng dẫn giải hệ phương trình tuyến tính bằng thư viện Numpy của Python. Bạn có thể sử dụng các phương pháp

A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
47 và
4x  + 3y = 20
-5x + 9y = 26
50 theo chuỗi để giải hệ phương trình tuyến tính hoặc đơn giản là bạn có thể sử dụng phương pháp
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
35. Phương pháp
A = [[ 4   3]
     [-5   9]]

X = [[x]
     [y]]

B = [[20]
     [26]]
35 là cách ưa thích

2 phương pháp giải phương trình là gì?

Có ba phương pháp dùng để giải hệ phương trình. vẽ đồ thị, thay thế và loại bỏ.