Duke përdorur matematikën, modulin standard të Python për funksionet matematikore, mund të llogaritni funksionet trigonometrike (sin, cos, tan) dhe funksionet trigonometrike të anasjellta (arcsin, arccos, arctan).
Përmbajtja e mëposhtme shpjegohet këtu me kodet e mostrës.
- Pi (3.1415926..):
math.pi
- Konvertimi i këndit (radianë, gradë):
math.degrees()
,math.radians()
- Sinus, sinus i anasjelltë:
math.sin()
,math.asin()
- kosinus, kosinus i anasjelltë:
math.cos()
,math.acos()
- Tangjente, tangjente e anasjelltë:
math.tan()
,math.atan()
,math.atan2()
- Dallimet më poshtë:
math.atan()
,math.atan2()
- Pi (3.1415926..):math.pi
- Konvertimi i këndit (radianë, gradë):math.degrees(),math.radians()
- Sinus, sinus i anasjelltë:math.sin(),math.asin()
- kosinus, kosinus i anasjelltë:math.cos(),math.acos()
- Tangjente, tangjente e anasjelltë:math.tan(),math.atan(),math.atan2()
- Dallimi midis math.atan() dhe math.atan2()
Pi (3.1415926..):math.pi
Pi është dhënë si një konstante në modulin e matematikës. Ai shprehet si më poshtë.math.pi
import math
print(math.pi)
# 3.141592653589793
Konvertimi i këndit (radianë, gradë):math.degrees(),math.radians()
Funksionet trigonometrike dhe të anasjellta trigonometrike në modulin e matematikës përdorin radianin si njësi të këndit.
Përdorni math.degrees() dhe math.radians() për të kthyer ndërmjet radianëve (metoda e shkallës së harkut) dhe shkallëve (metoda e shkallës).
Math.degrees() konverton nga radianët në gradë, dhe math.radians() konverton nga gradë në radian.
print(math.degrees(math.pi))
# 180.0
print(math.radians(180))
# 3.141592653589793
Sinus, sinus i anasjelltë:math.sin(),math.asin()
Funksioni për të gjetur sinusin (sin) është math.sin() dhe funksioni për të gjetur sinusin e kundërt (arcsin) është math.asin().
Këtu është një shembull i gjetjes së sinusit prej 30 gradë, duke përdorur math.radians() për të kthyer gradët në radiane.
sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994
Sinusi prej 30 gradësh është 0,5, por ka një gabim sepse pi, një numër irracional, nuk mund të llogaritet me saktësi.
Nëse dëshironi të rrumbullakosni në numrin e duhur të shifrave, përdorni funksionin round() ose metodën format() ose funksionin format().
Vini re se vlera e kthyer e round() është një numër (int ose float), por vlera e kthyer e format() është një varg. Nëse dëshironi ta përdorni për llogaritjet e mëvonshme, përdorni round().
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'>
Funksioni round() specifikon numrin e numrave dhjetorë si argument të dytë. Vini re se kjo nuk është rreptësisht e rrumbullakosur. Shihni artikullin e mëposhtëm për detaje.
Metoda format() dhe funksioni format() specifikojnë numrin e numrave dhjetorë në vargun e specifikimit të formatimit. Shihni artikullin e mëposhtëm për detaje.
- LIDHUR:Konvertimi i formatit në Python, formati (mbushja 0, shënimi eksponencial, heksadecimal, etj.)
Nëse dëshironi të krahasoni, mund të përdorni edhe math.isclose().
print(math.isclose(sin30, 0.5))
# True
Në mënyrë të ngjashme, këtu është një shembull i gjetjes së sinusit të kundërt prej 0.5. math.asin() kthen radianët, të cilët konvertohen në gradë me math.degrees().
asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996
print(round(asin05, 3))
# 30.0
kosinus, kosinus i anasjelltë:math.cos(),math.acos()
Funksioni për të gjetur kosinusin (cos) është math.cos(), dhe funksioni për të gjetur kosinusin e kundërt (kosinusi i harkut, arccos) është math.acos().
Këtu është një shembull i gjetjes së kosinusit 60 gradë dhe kosinusit të kundërt prej 0,5.
print(math.cos(math.radians(60)))
# 0.5000000000000001
print(math.degrees(math.acos(0.5)))
# 59.99999999999999
Nëse dëshironi të rrumbullakoni në shifrën e duhur, mund të përdorni round() ose format() si me sinus.
Tangjente, tangjente e anasjelltë:math.tan(),math.atan(),math.atan2()
Funksioni për të gjetur tangjenten (tan) është math.tan(), dhe funksioni për të gjetur tangjenten e anasjelltë (arctan) është math.atan() ose math.atan2().
Math.atan2() përshkruhet më vonë.
Një shembull i gjetjes së tangjentës 45 gradë dhe tangjentes së anasjelltë prej 1 shkallë është paraqitur më poshtë.
print(math.tan(math.radians(45)))
# 0.9999999999999999
print(math.degrees(math.atan(1)))
# 45.0
Dallimi midis math.atan() dhe math.atan2()
Të dy math.atan() dhe math.atan2() janë funksione që kthejnë tangjenten e anasjelltë, por ato ndryshojnë në numrin e argumenteve dhe gamën e vlerave të kthyera.
math.atan(x) ka një argument dhe kthen arctan(x) në radianë. Vlera e kthimit do të jetë midis -pi \ 2 dhe pi \ 2 (-90 deri në 90 gradë).
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
Në shembullin e mësipërm, math.inf përfaqëson pafundësinë.
math.atan2(y, x) ka dy argumente dhe kthen arctan(y \ x) në radianë. Ky kënd është këndi (deklinimi) që bën vektori nga origjina në koordinatat (x, y) me drejtimin pozitiv të boshtit x në planin koordinativ polar, dhe vlera e kthyer është ndërmjet -pi dhe pi (-180 në 180 gradë).
Meqenëse këndet në kuadrantin e dytë dhe të tretë mund të përftohen gjithashtu saktë, math.atan2() është më i përshtatshëm se math.atan() kur merret parasysh plani koordinativ polar.
Vini re se rendi i argumenteve është y, x, jo 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
Si në shembullin e mësipërm, drejtimi negativ i boshtit x (y është zero dhe x është negativ) është pi (180 gradë), por kur y është zero negativ, është -pi (-180 gradë). Kini kujdes nëse doni ta trajtoni me rreptësi shenjën.
print(math.degrees(math.atan2(-0.0, -1)))
# -180.0
Zerot negative janë rezultat i veprimeve të mëposhtme
print(-1 / math.inf)
# -0.0
print(-1.0 * 0.0)
# -0.0
Numrat e plotë nuk trajtohen si zero negative.
print(-0.0)
# -0.0
print(-0)
# 0
Edhe kur të dyja x dhe y janë zero, rezultati varet nga shenja.
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
Ka shembuj të tjerë ku shenja e rezultatit ndryshon në varësi të zerave negative, si math.atan2() si dhe math.sin(), math.asin(), math.tan() dhe 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
Vini re se shembujt e deritanishëm janë rezultatet e ekzekutimit të programit në CPython. Vini re se zbatimet ose mjediset e tjera mund t’i trajtojnë ndryshe zerat negative.