ฟังก์ชัน 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
- 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 ความคิดเห็น:
แสดงความคิดเห็น
แสดงความคิดเห็นได้ครับ :)