Tôi đang làm việc theo quy trình tối ưu hóa Nelder-Mead trong C có liên quan đến việc lấy trung bình của hai số float
s. Trong các trường hợp hiếm hoi (nhưng có thể tái sản xuất hoàn toàn), hai số float
s, giả sử x
và y
, chỉ khác nhau ít nhất có ý nghĩa về tầm quan trọng của chúng. Khi tính trung bình được thực hiện, làm tròn lỗi ngụ ý rằng kết quả sẽ là x
hoặc y
.Làm cách nào để chỉ định hướng nào để làm tròn trung bình của hai phao nổi khác với LSB của tên miền?
Tôi muốn chỉ định rằng làm tròn phải luôn hướng về phía thứ hai float
. Tức là, tôi không thể chỉ đơn giản xác định rằng làm tròn phải hướng về số không, hoặc vô cùng, bởi vì tôi không biết trước cho dù x
sẽ lớn hơn y
.
(Làm cách nào) tôi có thể làm điều đó?
Bạn không thể chỉ so sánh hai phao đó, và đặt làm tròn thành số không, trừ vô cực hoặc cộng với vô cực tùy thuộc vào kết quả so sánh? –
Nhưng bạn có thể xác định tại thời điểm bạn làm tròn cho dù 'x> y', phải không? –
Bạn có thể, nhưng có một cách đơn giản hơn nhiều để thực hiện việc này. –