การหาค่าเฉลี่ยโดยไม่ต้องเก็บค่า
ทุกคนคงทราบอยู่แล้วว่าวิธีการหาค่าเฉลี่ยคือ เอาค่าทั้งหมดมาบวกกัน แล้วหารด้วยจำนวนทั้งหมด ดังสมการนี้ Avr = sum(X)/length(X) แต่ในทางปฎิบัติ เราสามารถเก็บค่าได้จำกัด เพราะว่าในขณะที่โปรแกรมกำลังทำงานอยู่ ข้อมูลในตัวแปรทุกตัวจะถูกเก็บเอาไว้ที่ RAM ซึ่งคอมทุกเครื่องมี RAM จำนวนจำกัด ดังนั้นหากเราเก็บข้อมูลไว้ในตัวแปรเยอะเกินไป ก็จะทำให้พื้นที่ RAM ไม่พอใช้งาน ซึ่งจะทำให้คอมพิวเตอร์ค้างได้ ถ้าเราไม่เก็บข้อมูลทุกตัวเอาไว้ แล้วเราจะคำนวณค่าเฉลี่ยได้ยังไงล่ะ? หลายๆ คนอาจจะกำลังคิดว่าน่าจะคำนวณแบบนี้ ค่าเฉลี่ย = (ค่าใหม่ + ค่าเก่า)/2 อย่างเช่น ค่าเฉลี่ยระหว่าง 1 กับ 2 ค่าเฉลี่ย = (2 + 1)/2 = 1.5 คำตอบก็ถูกต้อง วิธีนี้น่าจะใช้ได้นะ แต่มันใช้ได้จริงรึเปล่า เราลองมาทดสอบกับตัวอย่างอื่นดู เช่น ค่าเฉลี่ยระหว่าง 1 , 2 และ 3 AV1 = (1+2)/2 = 1.5 AV2 = (AV1+3)/2 = 2.25 จะเห็นว่าผลลัพธ์ไม่ถูกต้อง เพราะ AV = (1+2+3)/3 = 2 ดังนั้นวิธีการแบบนี้จึงใช้ไม่ได้ แล้ววิธีการที่ถูกต้องควรจะทำยังไงละ มาดูกันเลยครับ AV = AV - (AV/N) AV = AV + (X/N) โ