Cách đúng để so sánh vectơ trong dấu phẩy động là gì?


8

Tôi biết rằng tôi nên sử dụng một dung sai để so sánh các số dấu phẩy động. Nhưng để so sánh các vectơ, tôi có thể nghĩ ra 3 giải pháp khả thi tương ứng với các số liệu khoảng cách khác nhau:

  1. So sánh các thành phần của từng vectơ riêng lẻ: các vectơ bằng nhau nếu cả 3 đều nằm trong dung sai. Tùy chọn này sẽ hoạt động giống như định mức thống nhất , tạo ra một khối dung sai.
  2. So sánh tổng của tất cả các khác biệt tuyệt đối với một số dung sai. Điều này sẽ hành xử giống như các tiêu chuẩn taxi , đưa ra một sự khoan dung đơn giản.
  3. Tính độ dài Euclide của (vecA - vecB) và xem nó có nằm trong dung sai không. Điều này sẽ đưa ra tiêu chuẩn Euclide với phạm vi dung sai.

Nhưng mối quan tâm chính của tôi là sự ổn định số. Định mức Euclide "cảm thấy như" tùy chọn tốt nhất, nhưng tôi lo lắng rằng tất cả các tính toán sẽ gây ra nhiều lỗi làm tròn hơn. Ở mức độ thấp hơn, tùy chọn 2 cũng có thể gây ra lỗi. (Ví dụ: nếu thành phần x của vectơ lớn hơn yz , việc cộng tất cả các khác biệt có thể tạo ra bất kỳ đóng góp nào từ yz .) Vì vậy, tôi hiện đang nghiêng về tùy chọn 1.

Bất cứ ai có thể cân nhắc với một có thẩm quyền về vấn đề này?


1
Nó phụ thuộc vào những gì bạn muốn. Bạn đang kiểm tra xem các vectơ có thành phần bằng nhau hay chỉ có cường độ bằng nhau? Để kiểm tra sự bình đẳng theo nghĩa lập trình, thì tùy chọn 1 là cách tốt nhất.
ja72

Đây không phải là một câu hỏi về dấu phẩy động, mà là một câu hỏi về ứng dụng các khái niệm toán học.
shuhalo

1
Đối với hầu hết các ứng dụng, tất cả các cách tiếp cận này sẽ thỏa đáng, đặc biệt nếu, theo cách diễn đạt của bạn, bạn chỉ quan tâm đến ba chiều. Phản hồi đầu tiên của tôi sẽ là "đừng lo lắng về điều đó." Có một lý do cụ thể tại sao bạn lo lắng về lỗi làm tròn trong bối cảnh này?
MRocklin

Câu trả lời:


5

Câu trả lời cho câu hỏi này phụ thuộc phần lớn vào ứng dụng của bạn. Thay vì đổ mồ hôi, việc thực hiện bằng số chính xác hãy suy nghĩ nhiều hơn về ý nghĩa của từng phương án tiềm năng mà bạn đề xuất. Ví dụ, một hoặc nhiều khoảng cách tính toán có giải thích vật lý không? Là các đơn vị và quy mô của các thành phần vector giống nhau?

Trong trường hợp tất cả các tham số có cùng đơn vị và các thang giá trị khác nhau, bạn nên suy nghĩ nhiều hơn về cách tốt nhất để định kích thước hệ thống của mình. Nondimensionalization giúp xua đuổi những gnomes chính xác số ác.

Khi bạn sử dụng x, y và z làm tên giá trị, tôi nghi ngờ bạn đang xem xét một số vị trí trong không gian. Hai tiêu chuẩn có lợi thế khác biệt là có đạo hàm liên tục, vì vậy thiếu bất kỳ thông tin vấn đề thực sự nào tôi có thể sẽ bắt đầu từ đó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.