2009-03-08 22 views
7

sửaMột thư viện số học không ổn định (khoảng thời gian) tốt?

Cho rằng dòng chữ "không chắc chắn" và "không chắc chắn" là khá phổ biến, thật khó để Google "không chắc chắn số học" và nhận được bất cứ điều gì ngay lập tức hữu ích. Vì vậy, bất cứ ai có thể đề nghị một thư viện tốt thói quen, trong hầu hết các chương trình/ngôn ngữ kịch bản, mà thực hiện xử lý các giá trị không chắc chắn, theo mô tả này:

Sử dụng sự không chắc chắn số học các giá trị kỷ lục đó là xấp xỉ, mà có là một dung sai đo được. Đây là khi chúng ta không chắc chắn về một giá trị, nhưng biết giới hạn trên và dưới nó có thể có, được biểu thị bằng một giá trị ±.

Trả lời

6

Tôi tin rằng "Interval Arithmetic" là tên phổ biến hơn cho những gì bạn đang tìm kiếm. boost::interval sẽ là lựa chọn đầu tiên của tôi cho thư viện hỗ trợ.

+0

Bingo! Cảm ơn rất nhiều. – bugmagnet

1

Nó không phải là một thư viện, nhưng câu hỏi của bạn nhắc nhở tôi về một ví dụ trong "Expert F #" mô tả quy trình công việc theo xác suất:

thay vì viết biểu thức để tính toán, chẳng hạn, số nguyên, chúng tôi thay vì viết các biểu thức tính toán phân phối các số nguyên. Nghiên cứu điển hình này dựa trên một bài báo của Ramsey và Pfeffer từ năm 2002.

Bạn có thể đọc đoạn trích on google books.

1

tôi có thể đi về vấn đề này bằng cách tuyên bố một lớp được gọi là UncertainValue, với các phương pháp và tài sản như (psuedocode):

class UncertainValue 
{ 
    private double upperbound; 
    private double lowerbound; 
    private double nominalvalue; 
    private double certainty; 
    ... 
    UncertainValue add(UncertainValue value); 
    UncertainValue multiply(UncertainValue factor); 
} 

Tôi nhận ra điều này không trả lời câu hỏi của bạn về việc tìm kiếm một tiền tạo thư viện, xin lỗi.

3

Hãy xem lớp Java của Error Propagation của Thomas Flanagan. Cách tiếp cận nó sử dụng là tuyệt vời nhất để xử lý sự không chắc chắn mà không gặp rắc rối quá mức.

4

Nếu bạn đang tìm kiếm mô-đun error propagation (điều này khác với interval arithmetic, nhưng tuyên truyền lỗi là những gì thường được các nhà khoa học sử dụng), tôi khuyên bạn nên xem mô-đun uncertainties Python của tôi. Nó xử lý lỗi/tuyên truyền không chắc chắn một cách minh bạch, và, trái với nhiều triển khai, xử lý đúng các mối tương quan giữa các biến.

3

để tham khảo, vì nó có thể là cách quá muộn cho bạn, tôi muốn đề nghị BIAS/Profil: http://www.ti3.tuhh.de/keil/profil/index_e.html

+0

Trong trường hợp này, không bao giờ quá muộn – bugmagnet

+0

thì tốt! các tính năng của nó trong trường hợp của bạn mà tôi thấy là một người dùng sẽ là BIAS là một thư viện C, với một số tính năng C++ từ Profil; nó gây ra lỗi số máy tính; nếu lỗi của bạn là trung tâm, truy cập trực tiếp đến giá trị danh nghĩa; vectơ khoảng thời gian để phân tích đa chiều; hoàn thành số học bao gồm (hoạt động thông thường với spin của số học khoảng thời gian trong khoảng thời gian, vectơ, ma trận); cuối cùng cũng dễ dàng bắt đầu bằng cách sử dụng các trang đầu tiên của chương 3 của tài liệu: một vài cảnh báo/thông tin và các bảng của tất cả các hoạt động cho từng loại. – luneart

Các vấn đề liên quan