Bi karanîna matematîkê, modula standard a Python-ê ya ji bo fonksiyonên matematîkî, hûn dikarin fonksiyonên trigonometrîk (sin, cos, tan) û fonksiyonên trigonometrikî yên berevajî (arcsin, arccos, arctan) bijmêrin.
Naveroka jêrîn li vir bi kodên nimûne têne rave kirin.
- Pi (3.1415926..):
math.pi
- Veguherîna goşeyê (radians, derece):
math.degrees()
,math.radians()
- Sine, Sînûna Berevajî:
math.sin()
,math.asin()
- kosînos, kosînusê berevajî:
math.cos()
,math.acos()
- Tangent, berevajî tangent:
math.tan()
,math.atan()
,math.atan2()
- Cûdahiyên jêrîn:
math.atan()
,math.atan2()
Pi (3.1415926..):math.pi
Pi di modula matematîkê de wekî domdar tête peyda kirin. Bi vî awayî tê îfadekirin.math.pi
import math
print(math.pi)
# 3.141592653589793
Veguherîna goşeyê (radians, derece):math.degrees(),math.radians()
Di modula matematîkê de fonksiyonên trigonometrîk û berevajî yên trigonometriyê radiyan wekî yekeya goşeyê bikar tînin.
Math.degrees() û math.radians() bikar bînin da ku di navbera radiyan de (rêbaza pileya arc) û dereceyan (rêbaza dereceyê) veguherînin.
Math.degrees() ji radiyan vediguhere derece, û math.radians() ji derece vediguhere radiyan.
print(math.degrees(math.pi))
# 180.0
print(math.radians(180))
# 3.141592653589793
Sine, Sînûna Berevajî:math.sin(),math.asin()
Fonksiyona peydakirina sînusê (guneh) math.sin() ye û fonksiyona peydakirina sînusa berevajî (arcsin) math.asin() e.
Li vir mînakek dîtina sineweya 30 dereceyan e, bi karanîna math.radians() ji bo veguhertina dereceyan bo radîyan.
sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994
Sînûsa 30 dereceyan 0,5 e, lê xeletiyek heye ji ber ku pi, jimareyek neraksiyonel, rast nayê hesibandin.
Heke hûn dixwazin hejmareke guncan a reqeman dor bikin, fonksiyona dora() an rêbaza format() an fonksiyona format() bikar bînin.
Bala xwe bidinê ku nirxa vegerê ya round() jimarek e (int an float), lê nirxa vegerê ya format() rêzek e. Heke hûn dixwazin wê ji bo hesabên paşîn bikar bînin, dora ().
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'>
Fonksîyona round() wekî argumana xweya duyemîn hejmara cihên dehiyê diyar dike. Bala xwe bidinê ku ev ne bi hişkî dorpêçkirî ye. Ji bo hûragahiyan li gotara jêrîn binêre.
Rêbaza format() û fonksiyona format() di rêzika taybetmendiya formatkirinê de hejmara cihên dehiyê diyar dike. Ji bo hûragahiyan li gotara jêrîn binêre.
- TÊKIRIN:Veguheztina formatê di Python de, format (0-dagirtin, nîşankirina berbiçav, hexadecimal, hwd.)
Heke hûn dixwazin berhev bikin, hûn dikarin math.isclose() jî bikar bînin.
print(math.isclose(sin30, 0.5))
# True
Bi heman awayî, li vir mînakek peydakirina sinoya berevajî ya 0.5 heye. math.asin() radian vedigerîne, ku bi math.degrees() ve diguhere derece.
asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996
print(round(asin05, 3))
# 30.0
kosînos, kosînusê berevajî:math.cos(),math.acos()
Fonksiyona peydakirina kosînusê (cos) math.cos(), û fonksiyona dîtina kosînusê berevajî (arc kosînus, arccos) math.acos() e.
Li vir mînakek dîtina kosînusa 60 dereceyan û kosînusa berevajî ya 0,5 heye.
print(math.cos(math.radians(60)))
# 0.5000000000000001
print(math.degrees(math.acos(0.5)))
# 59.99999999999999
Heke hûn dixwazin jimareya guncan bizivirînin, hûn dikarin wekî sînusê dora () an format() bikar bînin.
Tangent, berevajî tangent:math.tan(),math.atan(),math.atan2()
Fonksiyona peydakirina tangentê (tan) math.tan(), û fonksiyona peydakirina tangenta berevajî (arctan) math.atan() an math.atan2() e.
Math.atan2() paşê tê şirove kirin.
Mînaka dîtina tangenta 45 dereceyan û tangenta berevajî ya 1 dereceyê li jêr tê nîşandan.
print(math.tan(math.radians(45)))
# 0.9999999999999999
print(math.degrees(math.atan(1)))
# 45.0
Cûdahiya di navbera math.atan () û math.atan2 ()
Hem math.atan() û hem jî math.atan2() fonksiyonên ku tangenta berevajî vedigerînin in, lê ew di hejmara argumanan û rêza nirxên vegerê de ji hev cihê dibin.
math.atan(x) yek argumanek heye û arctan(x) bi radîyan vedigerîne. Nirxa vegerê dê di navbera -pi \ 2 û pi \ 2 (-90 heta 90 derece) de be.
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
Di mînaka li jor de, math.inf bêdawîtiyê temsîl dike.
math.atan2(y, x) du arguman hene û di radiyan de arctan(y \ x) vedigerîne. Ev goşe ew goşe ye ku vektora ji esl ber bi koordînatên (x, y) ve bi arasteka erênî ya x di balafira koordînat a polar de çêdike û nirxa vegerî di navbera -pi û pi (-180) de ye. heta 180 derece).
Ji ber ku goşeyên çargoşeya duyem û sêyem jî rast têne bidestxistin, math.atan2() ji math.atan() guncavtir e dema ku balefira koordînat a polar were ber çavan.
Bala xwe bidinê ku rêza argumanan y, x, ne x, y ye.
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
Wek di mînaka li jor de, arasteya neyînî ya teşeya x-ê (y sifir e û x neyînî ye) pi ye (180 derece), lê gava y negatîf sifir be, ew -pi (-180 derece) ye. Ger hûn dixwazin bi hişkî nîşanê bişopînin baldar bin.
print(math.degrees(math.atan2(-0.0, -1)))
# -180.0
Sifirên negatîf encama operasyonên jêrîn in
print(-1 / math.inf)
# -0.0
print(-1.0 * 0.0)
# -0.0
Hêjmar wek sifirên neyînî nayên destgirtin.
print(-0.0)
# -0.0
print(-0)
# 0
Dema ku x û y jî sifir bin jî, encam bi nîşaneyê ve girêdayî ye.
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
Mînakên din hene ku nîşana encamê li gorî sifirên neyînî diguhere, wek math.atan2() û her weha 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
Bala xwe bidin ku mînakên heya niha encamên meşandina bernameyê di CPython de ne. Bala xwe bidinê ku pêkanîn an jîngehên din dibe ku sifirên neyînî bi rengek cûda bi rê ve bibin.