6 เมษายน 2558

Published เมษายน 06, 2558 by with 0 comment

ฟังก์ชัน math ใน Python

สวัสดีผู้อ่านทุกท่านครับ บทความนี้จะพาผู้อ่านไปเรียนรู้ฟังก์ชัน math ใน Python กันครับ ซึ่งฟังก์ชัน math เป็นฟังก์ชันที่ใช้คำนวณทางคณิตศาสตร์ครับ


ฟังก์ชัน math เป็นฟังก์ชันที่ใช้คำนวณทางคณิตศาสตร์ เพื่อหาค่าทางคณิตศาสตร์ โดยฟังก์ชัน math ใน Python นี้จะใช้ฟังก์ชันทางคณิตศาสตร์ที่กำหนดโดยมาตรฐาน C
เวลาเรียกใช้งานฟังก์ชัน math ใน Python ต้อง import math เข้ามาด้วยนะครับ

ทฤษฎีตัวเลข

  • การปัดเลขทศนิยม
    math.ceil(x)
    เมื่อแทน x เป็นจำนวนจริงเลขทศนิยม
    โค้ดตัวอย่าง
    >>> math.ceil(0.54)
    1

  • math.copysign(x, y)
    คืนค่าจำนวนจริงมีจำนวน (ค่าสัมบูรณ์) ของ x แต่เป็นเครื่องหมายของ y
    >>> math.copysign(1.0,-0.0)
    -1.0

  • ค่าสัมบูรณ์
    math.fabs(x)
    คืนค่าสัมบูรณ์ของ x
    โค้ดตัวอย่าง
    >>> math.fabs(0.9)
    0.9
    >>> math.fabs(-1)
    1.0

  • แฟกทอเรียล
    math.factorial(x)
    คืนค่า x แฟกทอเรียล เพิ่มค่าข้อผิดพลาดถ้า x ไม่เป็นจำนวนเต็มหรือเป็นจำนวนลบ

    [python]
    >>> math.factorial(5)
    120
    [/python]

  • ปัดเศษทศนิยมทิ้ง
    math.floor(x)
    คืนค่า x โดยปัดเศษทศนิยบนค่า X ทิ้ง
    >>> math.floor(9.2)
    9

  • math.fmod(x,y)
    คืนค่าส่วนเหลือของ x หาร ด้วย y
    >>> math.fmod(33,55)
    33.0 #หลังจากที่ 33/55 จะพบว่า เราไม่สามารถหารได้ถ้าไม่มีส่วนที่เหลือ คือ 33.0
    >>> math.fmod(10,20)
    10.0

  • math.frexp(x)
    คืนค่าแมนทิสซา(mantissa)และเลขชี้กำลังของ x เป็นคู่ (m, e)
    >>> math.frexp(16)
    (0.5, 5)
    >>> math.frexp(8)
    (0.5, 4)

  • math.fsum(iterable)
    คืนค่าผลรวมของ iterable เช่น  set, list, หรือ tuple
    >>> import math
    >>> i=[5,6,1]
    >>> math.fsum(i)
    12.0

  • math.isfinite()
    คืนค่า true หรือ false ถ้าค่าของ x จะมีขอบเขต (เพิ่งมีใน Python 3.2)
    >>> math.isfinite(12**12)
    True
    >>>math.isfinite(333**55555553333445)
    false

  • math.isinf(x)
    คืนค่า True ถ้า x เป็นจำนวนเต็มบวกหรือเต็มลบที่เป็นจำนวนอนันต์ ถ้าไม่เป็นจำนวนอนันต์คืนค่า False

  • math.isnan(x)
    คืนค่า True ถ้า x ไม่ใช่จำนวนตัวเลข และคืนค่า False หากไม่ตรงกับเงื่อนไขนี้

  • math.ldexp(x, i)
    คืนค่า x * (2**i) คำสั่งนี้เป็นหลัก ผกผันของ ฟังก์ชัน frexp()

  • math.modf(x)
    คืนค่าส่วนที่เป็นจำนวนเต็มและเศษส่วนของ x ทั้งผลลัพธ์ดำเนินการเครื่องหมายของ x และเป็นจำนวนจริง

  • math.trunc(x)
    คืนค่าจริงของ x ถูกตัดเหลือเพียง Integral (มักจะเป็นจำนวนเต็ม ) ตัวแทน X__trunc__()

Power และฟังก์ชั่นลอการิทึม

  • math.exp(x)
    คืนค่า e**x

  • math.expm1(x)
    เพิ่งมีใน Python 3.2 เป็นต้นมา
    คืนค่า e**x - 1 ของจำนวนจริงขนาดเล็ก ในบวกการลบ exp(x) - 1 จะส่งผลต่อการสูญเสียความแม่นยำที่สำคัญไป
    ฟังก์ชัน expm1() จะช่วยให้สามารถคำนวณปริมาณความแม่นยำเต็มรูปแบบนี้:
    >>> from math import exp, expm1
    >>> exp(1e-5) - 1 #ช่วยให้ผลลัพธ์ที่ถูกต้องถึง 11ตำแหน่ง
    1.0000050000069649e-05
    >>> expm1(1e-5) # ให้ผลลัพธ์ที่ถูกต้องแม่นยำกว่า exp()
    1.0000050000166668e-05

  • math.log(x[, เลขฐาน])
    คืนค่าผลลัพธ์ที่ได้จากค่า log ตามคณิตศาสตร์ หากไม่ได้กำหนดเลขฐาน เลขฐานจะเป็นค่า e
    >>> import math
    >>> math.log(10)
    2.302585092994046
    >>> math.log(10,10)
    1.0
    >>> math.log(2)
    0.6931471805599453
    >>> math.log(1)
    0.0
    >>> math.log(2,2)
    1.0

  • math.log1p(x)
    คืนค่าลอการิทึมธรรมชาติของ 1 + x (ฐาน e) ผลลัพธ์การคำนวณที่ถูกต้องสำหรับ x อยู่ใกล้ศูนย์

  • math.log2(x)
    เพิ่งมีใน Python 3.3 เป็นต้นมา
    คืนค่าผลลัพธ์ที่ได้จากค่า log เลขฐาน 2 เหมือนใช้คำสั่ง log(x, 2)

  • math.log10(x)
    คืนค่าผลลัพธ์ที่ได้จากค่า log เลขฐาน 10 เหมือนใช้คำสั่ง log(x, 10)

  • math.pow(x, y)
    คืนค่าผลลัพธ์ที่ได้จากการที่ x ยกกำลัง y

  • math.sqrt(x)
    คืนค่ารากที่สองของ x

ฟังก์ชันตรีโกณมิติ

  • math.acos(x)
    คืนค่าอาร์กโคไซน์ (arccos หรือ cos-1) ของ x ในเรเดียน

  • math.asin(x)
    คืนค่า arc sine ของ x ในเรเดียน

  • math.atan(x)
    คืนค่า arc tan ของ x ในเรเดียน

  • math.atan2(y, x)
    คืนค่า atan(y / x) ของ x ในเรเดียน

  • math.cos(x)
    คืนค่า cosine ของ x ในเรเดียน

  • math.hypot(x, y)
    คืนค่าการคำนวณบรรทัดฐานแบบยุคลิด sqrt (x * x + y * y) นี้เป็นความยาวของเวกเตอร์จากแหล่งกำเนิดไปยังจุด (x, y)

  • math.sin(x)
    คืนค่า sin ของ x ในเรเดียน

  • math.tan(x)
    คืนค่า sin ของ x ในเรเดียน

Angular conversion

  • math.degrees(x)
    แปลงมุม x จากเรเดียนให้เป็นองศา

  • math.radians(x)
    แปลงมุม x จากองศาให้เป็นเรเดียน
    >>> import math
    >>> math.radians(180)
    3.141592653589793
    >>> math.degrees(3.141592653589793)
    180.0
Hyperbolic functions

  • math.acosh(x)
    คืนค่าส่วนกลับ hyperbolic cosine ของ x

  • math.asinh(x)
    คืนค่าส่วนกลับ hyperbolic sine ของ x

  • math.atanh(x)
    คืนค่าส่วนกลับ hyperbolic tangent ของ x

  • math.cosh(x)
    คืนค่า hyperbolic cosine ของ x

  • math.sinh(x)
    คืนค่า hyperbolic sine ของ x

  • math.tanh(x)
    คืนค่า hyperbolic tangent ของ x

ค่าคงตัว

  • math.pi
    ค่าคงที่ทางคณิตศาสตร์ของ π = 3.141592...

  • math.e
    ค่าคงที่ทางคณิตศาสตร์ของ e = 2.718281...

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

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

แสดงความคิดเห็นได้ครับ :)