- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Giả sử tôi có ma trận này:
1 1 1 |
0 0 1 |
Rõ ràng có vô số giải pháp cho hệ thống này.
x1 = -x2
x3 = 1
x1 phụ thuộc vào x2, x2 là miễn phí, nhưng điều tôi quan tâm là x3. Có thuật toán nào có thể tìm ra giải pháp như thế này không: [NaN, NaN, 1] cho x1, x2 và x3?
Tôi đoán là bạn có thể sử dụng một biến thể của thuật toán loại bỏ Gaussian, nhưng tôi không chắc chắn về cách thực hiện điều đó.
câu trả lời hay nhất
Tôi giả sử rằng một hệ thống có ít nhất một giải pháp (bạn có thể kiểm tra nó bằng cách sử dụng phương pháp loại bỏ Gaussian tiêu chuẩn).
Bổ đề: Giá trị của một biến là cố định khi và chỉ khi nó là biến duy nhất trong một hàng có dạng cấp bậc rút gọn.
Chứng minh: Nếu nó là biến duy nhất trong hàng thì nó phải bằng 0 đối với mọi nghiệm của hệ thuần nhất. Do đó, nó là hằng số của hệ ban đầu.
Nếu nó không phải là biến duy nhất trong hàng thì giá trị của nó không cố định. Trên thực tế, biến còn lại trong hàng là tự do nên chúng ta có thể chọn giá trị của nó tùy ý. Hai lựa chọn khác nhau của biến tự do này sẽ cho ra hai giá trị khác nhau của biến chính.
Vì vậy, giải pháp cuối cùng là:
Sử dụng phép loại trừ Gaussian để thu được dạng bậc hàng rút gọn của ma trận.
Kiểm tra xem có ít nhất một giải pháp. Nếu không trả lại một cái gì đó.
Trả về một vectơ chứa giá trị của biến nếu biến đó là biến duy nhất trong hàng, nếu không thì trả về Nam
.
Trong ví dụ của bạn, dạng bậc thang đơn giản hóa là:
1 1 0 0
0 0 1 1
Biến cuối cùng có giá trị duy nhất là 1. Biến thứ hai là miễn phí. Biến đầu tiên không phải là biến duy nhất trong hàng của nó. Vì vậy, kết quả là [Nan, Nan, 3]
.
Về thuật toán - Làm thế nào để tìm nghiệm "từng phần" cho hệ phương trình tuyến tính chưa xác định? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43619121/
Tôi là một lập trình viên xuất sắc, rất giỏi!