Tôi có một số mã sử dụng bộ tích lũy Tăng cường để theo dõi giá trị trung bình trên cửa sổ cuộn - "trung bình cán". Ngoài ý nghĩa luân phiên, tôi muốn theo dõi mức tối thiểu và tối đa trên cùng một cửa sổ này.lăn tối thiểu và lăn tối đa để tăng C++?
Có cách nào để tính toán min min và rolling max với bộ tăng tốc Boost không? Tôi không thấy cách nào ...
Tôi đã thử thêm các thẻ tối thiểu và tối đa vào bộ tích lũy được sử dụng cho rolling_mean, nhưng điều đó không cho tôi những gì tôi muốn.
typedef accumulator_set<uint32_t, stats<tag::rolling_mean> > rollingMeanAcc_t;
trở thành
typedef accumulator_set<uint32_t, stats<tag::rolling_mean,tag::min,tag::max> > rollingMeanAcc_t;
Tuy nhiên, min và max cung cấp ở đây được tính trên toàn bộ ác quy, chứ không phải là giới hạn ở những cửa sổ lăn giống như giá trị trung bình.
Tăng cường documentation cho biết rằng min và max được tính trên tất cả các mẫu, không giới hạn ở cửa sổ cuộn. Họ dường như không cung cấp một cách để hạn chế hoặc trọng lượng các mẫu.
Tôi muốn báo cáo giá trị trung bình/phút/tối đa trên toàn bộ cửa sổ cuộn.
Tôi hiện đang sử dụng phiên bản Boost 1.48.0. Tôi đã xem các tài liệu hướng dẫn cho phiên bản mới nhất (1.54.0) và không thấy một min/max lăn được thực hiện ở đó.
Tôi đã tìm thấy cách không tăng cường để theo dõi sliding window minimum, nhưng điều này dường như không phải là điều tôi muốn. Tôi không muốn xóa các giá trị chỉ vì chúng lớn hơn/nhỏ hơn min/max trước đó, vì điều đó sẽ làm cho rolling_mean không chính xác.
Cảm ơn bạn. Điều này có ý nghĩa. Có thể có một cách xung quanh điều này?Tôi có thể bằng cách nào đó "thiết lập lại" hoặc ghi đè lên tối đa hiện tại và min được lưu trữ trong ắc quy? –