Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

แก้สมการเมทริกซ์เชิงเส้นหรือระบบสมการสเกลาร์เชิงเส้นใน Python

เพื่อแก้สมการเมทริกซ์เชิงเส้น ax = b ให้ใช้ numpy.linalg.solve() คำนวณคำตอบ "exact" สำหรับระบบที่ well-determined (full rank) คืนค่า x ที่มีรูปร่างเหมือน b

พารามิเตอร์สำคัญ

  • a: เมทริกซ์係พ (coefficient matrix)
  • b: ค่าอordinate หรือ dependent variable values

ขั้นตอนการใช้งาน

import numpy as np

ตั้งระบบสมการ x0 + 2*x1 = 1 และ 3*x0 + 5*x1 = 2

arr1 = np.array([[1, 2], [3, 5]])
arr2 = np.array([1, 2])
print("Array1...\n", arr1)
print("\nArray2...\n", arr2)
print("\nDimensions of Array1...\n", arr1.ndim)
print("\nDimensions of Array2...\n", arr2.ndim)
print("\nShape of Array1...\n", arr1.shape)
print("\nShape of Array2...\n", arr2.shape)

แก้สมการ

print("\nResult...\n", np.linalg.solve(arr1, arr2))

โค้ดตัวอย่างสมบูรณ์

import numpy as np

arr1 = np.array([[1, 2], [3, 5]])
arr2 = np.array([1, 2])
print("Array1...\n", arr1)
print("\nArray2...\n", arr2)
print("\nDimensions of Array1...\n", arr1.ndim)
print("\nDimensions of Array2...\n", arr2.ndim)
print("\nShape of Array1...\n", arr1.shape)
print("\nShape of Array2...\n", arr2.shape)
print("\nResult...\n", np.linalg.solve(arr1, arr2))

ผลลัพธ์ที่คาดหวัง

Array1...
[[1 2]
 [3 5]]
Array2...
[1 2]
Dimensions of Array1...
2
Dimensions of Array2...
1
Shape of Array1...
(2, 2)
Shape of Array2...
(2,)
Result...
[-1.  1.]