jump to navigation

การหา arithmetic และ geometric means ด้วย MATLAB August 24, 2010

Posted by viboon in : Matlab , add a comment

ในการคำนวณหาค่า arithmetic mean หรือที่เรานิยมเรียกสั้นๆ ว่า mean นั้น หาได้โดย

1
ArithmeticMean = sum(x)/numel(x)

หรือสามารถใช้ function mean ได้โดยตรง

1
ArithmeticMean = mean(x)

โดย x คือชุดข้อมูลในรูปของ vector

สำหรับ geometric mean จะเป็นการหาค่า mean ในลักษณะของการคูณหรือ exponential ซึ่งสามารถคำนวณได้จาก

1
GeometricMean = prod(x)^(1/numel(x))

อย่างไรก็ตาม การใช้วิธีข้างต้นอาจไม่เหมาะกับข้อมูลขนาดใหญ่ที่มีปริมาณมากๆ เนื่องจากผลคูณจะทำให้ค่าที่ได้เกินขอบเขตของตัวแปรใน matlab ที่สามารถจะรับได้ ดังนั้นการแปลงให้อยู่ในรูป exponential ก็เป็นอีกวิธีหนึ่งที่ช่วยให้ได้ผลลัพธ์เดียวกันแต่ลดโอกาสการเกิดปัญหา Inf หรือ Infinity ใน matlab

1
GeometricMean = exp(sum(log(x))/numel(x))

Tags: , , ,

Related posts: