(Nếu câu trả lời thực sự là cách R sử dụng số nhị phân để lưu trữ số thập phân nhỏ, vẫn muốn biết chi tiết về lý do tại sao điều này xảy ra từ ai đó có kiến thức về điều này)Tại sao R thực hiện không chính xác tổng ở đây?
Tôi đang sử dụng R để tính tổng, cụ thể cái này:
đây là mã R của tôi:
r = 21 #Number of times the loop executes
n = 52
sum = 0 #Running total
for(k in 0:r){
sum = sum + (1-(choose(2^(k), n)*(factorial(n)/(2^(n*k)))))
print(sum)
}
Nếu bạn nhìn vào kết quả, bạn sẽ nhận thấy:
[1] 1
[1] 2
...
[1] 11.71419
[1] 11.71923
[1] 11.72176
[1] 12.72176
[1] 13.72176
Tại sao nó bắt đầu tăng thêm 1 sau lần lặp thứ 19?
Có các công cụ tính toán tự do nào khác có thể phù hợp hơn với nhiệm vụ này không?
Vì thuật ngữ sau 1- là 0 sau k = 19 và NaN (tràn) sau 25. Bạn mong đợi số tiền cần làm như thế nào? Hội tụ với điều gì đó hữu hạn? –
Bạn có thể thử Maple, nó tìm thấy tổng số là khoảng 11.72428812. Trong điều khoản của R, một khả năng là làm mô phỏng Monte Carlo cho biến ngẫu nhiên T. – Julius
Chỉ cho bản ghi, như được viết vòng lặp thực hiện r + 1 lần (không r lần, như được chỉ ra trong chú thích) –