วันอาทิตย์ที่ 15 พฤษภาคม พ.ศ. 2554

VBA Excel : การแก้ปัญหาการคำนวณค่า Log ใน vba

VBA Excel ในบทความนี้ขอนำเสนอการแก้ปัญหาการคำนวณค่า Log ใน vba excel กันครับ Logarithm เป็นฟังก์ชันทางคณิตศาสตร์ที่เรารู้จักกันดีและถูกนำมาช่วยวิเคราะห์ปัญหาในหลายๆด้าน เช่น วิศวกรรมศาสตร์ สถิตศาสตร์ ทางการแพทย์ วิทยาศาสตร์ การเงิน เป็นต้น ใน vba excel มีฟังก์ชัน Logarithm ฐานธรรมชาติ (Logarithm ฐาน e) ให้เราใช้เพียงฟังก์ชันเดียว ต่างกับการใช้ Excel ซึ่งเตรียมฟังก์ชัน Logarithm ให้ใช้ถึงสามรูปแบบคือ ฟังก์ชัน Logarithm ฐาน e จะใช้ ln(number) ฟังก์ชัน Logarithm ฐาน 10 จะใช้ Log(number) ส่วน Logarithm ฐานอื่นๆจะใช้ Log(number,[base]) ทีนี้มาถึงปัญหาหล่ะครับ หากต้องการคำนวณค่า Logarithm ฐานอื่นๆที่ไม่ใช่ ฐาน e ใน vba จะทำอย่างไร เรามีสองวิธีการครับ คือ ให้ vba เรียกใช้ฟังก์ชันจาก excel หรือ คำนวณจากฟังก์ชัน Logarithm ฐาน e ที่มีอยู่ใน vba ในบทความนี้ผมขอนำเสนอทางอย่างหลังครับ ก่อนอื่นมาดูความสัมพันธ์ทางคณิตศาสตร์ของฟังก์ชัน Logarithm ก่อนครับ โดยเราจะอาศัยคุณสมบัติการเปลี่ยนฐานของ Logarithm ดังแสดงในสมการช่วยในการแก้ปัญหา \log_b(x) = \frac{\log_k(x)}{\log_k(b)}.\,

จากคุณสมบัติการเปลี่ยนฐานของ Logarithm และเราทราบว่าใน vba มีฟังก์ชันคำนวณค่า Logarithm ฐาน e ดังนั้นหากเราต้องการคำนวณ Logarithm ของค่า x ฐาน b เราสามารถเขียนได้ดังนี้ให้อยู่ในรูปแบบของการคำนวณได้ดังนี้

Log

สามารถเขียนเป็นโค้ดใน vba ดังแสดงในตัวอย่างได้ดังนี้

1 dim b as integer

2 dim x as integer

3 dim a as integer

4 x = 10

5 b = 2

6 a = log(x)/log(b)

แสดงถึงการคำนวณหาค่า Logarithm ของค่า 10 ในฐาน 2 (ค่า a)

clip_image002[7]

จากตัวอย่างที่ผมนำเสนอจะเห็นว่าโค้ดการคำนวณ Logarithm ที่ฐานใดๆสามารถเขียนได้ง่ายและสะดวกมาก (บรรทัดที่ 6) สวัสดีครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Yahoo bot last visit powered by  Ybotvisit.com