ගණිතමය ශ්රිත සඳහා Python හි සම්මත මොඩියුලය වන ගණිතය භාවිතයෙන්, ඔබට ත්රිකෝණමිතික ශ්රිත (sin, cos, tan) සහ ප්රතිලෝම ත්රිකෝණමිතික ශ්රිත (arcsin, arccos, arctan) ගණනය කළ හැක.
නියැදි කේත සමඟ පහත අන්තර්ගතය මෙහි පැහැදිලි කර ඇත.
- පයි (3.1415926..):
math.pi
- කෝණ පරිවර්තනය (රේඩියන, අංශක):
math.degrees()
,math.radians()
- සයින්, ප්රතිලෝම සයින්:
math.sin()
,math.asin()
- cosine, inverse cosine:
math.cos()
,math.acos()
- ස්පර්ශක, ප්රතිලෝම ස්පර්ශක:
math.tan()
,math.atan()
,math.atan2()
- පහත වෙනස්කම්:
math.atan()
,math.atan2()
පයි (3.1415926..):math.pi
ගණිත මොඩියුලයේ නියතයක් ලෙස Pi සපයනු ලැබේ. එය මෙසේ ප්රකාශ වේ.math.pi
import math
print(math.pi)
# 3.141592653589793
කෝණ පරිවර්තනය (රේඩියන, අංශක):math.degrees(),math.radians()
ගණිත මොඩියුලයේ ත්රිකෝණමිතික සහ ප්රතිලෝම ත්රිකෝණමිතික ශ්රිත කෝණ ඒකකය ලෙස රේඩියනය භාවිතා කරයි.
රේඩියන (චාප උපාධි ක්රමය) සහ අංශක (උපාධි ක්රමය) අතර පරිවර්තනය කිරීමට math.degrees() සහ math.radians() භාවිතා කරන්න.
Math.degrees() රේඩියන වලින් අංශක වලට පරිවර්තනය වන අතර math.radians() අංශක වලින් රේඩියන වලට පරිවර්තනය වේ.
print(math.degrees(math.pi))
# 180.0
print(math.radians(180))
# 3.141592653589793
සයින්, ප්රතිලෝම සයින්:math.sin(),math.asin()
sine (sin) සෙවීමේ ශ්රිතය math.sin() වන අතර ප්රතිලෝම සයින් (arcsin) සෙවීමේ ශ්රිතය math.asin() වේ.
අංශක 30 ක සයිනය සොයා ගැනීමට උදාහරණයක් මෙන්න, math.radians() භාවිතයෙන් අංශක රේඩියන බවට පරිවර්තනය කරයි.
sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994
අංශක 30 ක සයිනය 0.5, නමුත් අතාර්කික අංකයක් වන pi නිවැරදිව ගණනය කළ නොහැකි නිසා දෝෂයක් ඇත.
ඔබට සුදුසු ඉලක්කම් ගණනට වට කිරීමට අවශ්ය නම්, වටය() ශ්රිතය හෝ ආකෘතිය() ක්රමය හෝ ආකෘතිය() ශ්රිතය භාවිතා කරන්න.
round() හි ප්රතිලාභ අගය සංඛ්යාවක් (int හෝ float), නමුත් ආකෘතිය() හි ප්රතිලාභ අගය තන්තුවක් බව සලකන්න. ඔබට පසුව ගණනය කිරීම් සඳහා එය භාවිතා කිරීමට අවශ්ය නම්, වටය () භාවිතා කරන්න.
print(round(sin30, 3))
print(type(round(sin30, 3)))
# 0.5
# <class 'float'>
print('{:.3}'.format(sin30))
print(type('{:.3}'.format(sin30)))
# 0.5
# <class 'str'>
print(format(sin30, '.3'))
print(type(format(sin30, '.3')))
# 0.5
# <class 'str'>
වටය() ශ්රිතය එහි දෙවන තර්කය ලෙස දශමස්ථාන ගණන නියම කරයි. මෙය දැඩි ලෙස වටකුරු නොවන බව සලකන්න. විස්තර සඳහා පහත ලිපිය බලන්න.
ආකෘතිය() ක්රමය සහ ආකෘතිය() ශ්රිතය හැඩතල ගැන්වීමේ පිරිවිතර පෙළෙහි දශම ස්ථාන ගණන නියම කරයි. විස්තර සඳහා පහත ලිපිය බලන්න.
ඔබට සංසන්දනය කිරීමට අවශ්ය නම්, ඔබට math.isclose() භාවිතා කළ හැකිය.
print(math.isclose(sin30, 0.5))
# True
ඒ හා සමානව, 0.5 හි ප්රතිලෝම සයින් සොයා ගැනීම සඳහා උදාහරණයක් මෙහි දැක්වේ. math.asin() රේඩියන ලබා දෙයි, ඒවා math.degrees() සමඟ අංශක වලට පරිවර්තනය වේ.
asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996
print(round(asin05, 3))
# 30.0
cosine, inverse cosine:math.cos(),math.acos()
cosine (cos) සොයා ගැනීමේ ශ්රිතය math.cos(), සහ ප්රතිලෝම cosine (arc cosine, arccos) සෙවීමේ ශ්රිතය math.acos() වේ.
අංශක 60 ක කෝසයිනය සහ 0.5 ක ප්රතිලෝම කෝසයිනය සොයා ගැනීමේ උදාහරණයක් මෙන්න.
print(math.cos(math.radians(60)))
# 0.5000000000000001
print(math.degrees(math.acos(0.5)))
# 59.99999999999999
ඔබට සුදුසු ඉලක්කම් වෙත වට කිරීමට අවශ්ය නම්, ඔබට සයින් සමඟ මෙන් රවුම්() හෝ ආකෘතිය() භාවිතා කළ හැක.
ස්පර්ශක, ප්රතිලෝම ස්පර්ශක:math.tan(),math.atan(),math.atan2()
ස්පර්ශක (tan) සෙවීමේ ශ්රිතය math.tan(), සහ ප්රතිලෝම ස්පර්ශකය (arctan) සෙවීමේ ශ්රිතය math.atan() හෝ math.atan2() වේ.
Math.atan2() පසුව විස්තර කෙරේ.
අංශක 45 ක ස්පර්ශකයක් සහ අංශක 1 ක ප්රතිලෝම ස්පර්ශකයක් සෙවීමේ උදාහරණයක් පහත දැක්වේ.
print(math.tan(math.radians(45)))
# 0.9999999999999999
print(math.degrees(math.atan(1)))
# 45.0
math.atan() සහ math.atan2() අතර වෙනස
math.atan() සහ math.atan2() යන දෙකම ප්රතිලෝම ස්පර්ශක ආපසු ලබා දෙන ශ්රිත වේ, නමුත් ඒවා තර්ක ගණනින් සහ ප්රතිලාභ අගයන් පරාසයෙන් වෙනස් වේ.
math.atan(x) හි එක් තර්කයක් ඇති අතර රේඩියන වලින් arctan(x) ලබා දෙයි. ප්රතිලාභ අගය -pi \ 2 සහ pi \ 2 (අංශක -90 සිට 90 දක්වා) අතර වේ.
print(math.degrees(math.atan(0)))
# 0.0
print(math.degrees(math.atan(1)))
# 45.0
print(math.degrees(math.atan(-1)))
# -45.0
print(math.degrees(math.atan(math.inf)))
# 90.0
print(math.degrees(math.atan(-math.inf)))
# -90.0
ඉහත උදාහරණයේ, math.inf අනන්තය නියෝජනය කරයි.
math.atan2(y, x) හි තර්ක දෙකක් ඇති අතර රේඩියන වලින් arctan(y \ x) ලබා දෙයි. මෙම කෝණය මූලාරම්භයේ සිට ඛණ්ඩාංක (x, y) දක්වා දෛශිකය ධ්රැවීය ඛණ්ඩාංක තලයේ x අක්ෂයේ ධනාත්මක දිශාව සමඟ සාදන කෝණය (පහළවීම) වන අතර ආපසු ලැබෙන අගය -pi සහ pi (-180) අතර වේ. අංශක 180 දක්වා).
දෙවන සහ තුන්වන චතුරශ්රවල කෝණ ද නිවැරදිව ලබා ගත හැකි බැවින්, ධ්රැවීය ඛණ්ඩාංක තලය සලකා බැලීමේදී math.atan() ට වඩා math.atan2() සුදුසු වේ.
තර්කයේ අනුපිළිවෙල y, x මිස x, y නොවන බව සලකන්න.
print(math.degrees(math.atan2(0, 1)))
# 0.0
print(math.degrees(math.atan2(1, 1)))
# 45.0
print(math.degrees(math.atan2(1, 0)))
# 90.0
print(math.degrees(math.atan2(1, -1)))
# 135.0
print(math.degrees(math.atan2(0, -1)))
# 180.0
print(math.degrees(math.atan2(-1, -1)))
# -135.0
print(math.degrees(math.atan2(-1, 0)))
# -90.0
print(math.degrees(math.atan2(-1, 1)))
# -45.0
ඉහත උදාහරණයේ මෙන්, x-අක්ෂයේ සෘණ දිශාව (y ශුන්ය සහ x සෘණ) pi (අංශක 180), නමුත් y සෘණ ශුන්ය වූ විට එය -pi (අංශක -180) වේ. ඔබට ලකුණ දැඩි ලෙස හැසිරවීමට අවශ්ය නම් ප්රවේශම් වන්න.
print(math.degrees(math.atan2(-0.0, -1)))
# -180.0
සෘණ ශුන්ය පහත සඳහන් මෙහෙයුම් වල ප්රතිඵලයකි
print(-1 / math.inf)
# -0.0
print(-1.0 * 0.0)
# -0.0
නිඛිල සෘණ ශුන්ය ලෙස සලකන්නේ නැත.
print(-0.0)
# -0.0
print(-0)
# 0
x සහ y දෙකම ශුන්ය වූ විට පවා ප්රතිඵලය රඳා පවතින්නේ ලකුණ මතය.
print(math.degrees(math.atan2(0.0, 0.0)))
# 0.0
print(math.degrees(math.atan2(-0.0, 0.0)))
# -0.0
print(math.degrees(math.atan2(-0.0, -0.0)))
# -180.0
print(math.degrees(math.atan2(0.0, -0.0)))
# 180.0
math.atan2() මෙන්ම math.sin(), math.asin(), math.tan(), සහ math.atan() වැනි සෘණ ශුන්ය මත පදනම්ව ප්රතිඵලයේ ලකුණ වෙනස් වන වෙනත් උදාහරණ තිබේ. .
print(math.sin(0.0))
# 0.0
print(math.sin(-0.0))
# -0.0
print(math.asin(0.0))
# 0.0
print(math.asin(-0.0))
# -0.0
print(math.tan(0.0))
# 0.0
print(math.tan(-0.0))
# -0.0
print(math.atan(0.0))
# 0.0
print(math.atan(-0.0))
# -0.0
print(math.atan2(0.0, 1.0))
# 0.0
print(math.atan2(-0.0, 1.0))
# -0.0
මෙතෙක් උදාහරණ CPython හි වැඩසටහන ක්රියාත්මක කිරීමේ ප්රතිඵල බව සලකන්න. වෙනත් ක්රියාත්මක කිරීම් හෝ පරිසරයන් සෘණ ශුන්ය වෙනස් ලෙස හැසිරවිය හැකි බව සලකන්න.