Израчунајте тригонометријске функције у Питхон-у (син, цос, тан, арцсин, арццос, арцтан)

Бусинесс

Користећи математику, Питхон-ов стандардни модул за математичке функције, можете израчунати тригонометријске функције (син, цос, тан) и инверзне тригонометријске функције (арцсин, арццос, арцтан).

Следећи садржаји су овде објашњени са примерима кодова.

  • Пи (3.1415926..):math.pi
  • Конверзија угла (радијани, степени):math.degrees(),math.radians()
  • Синус, инверзни синус:math.sin(),math.asin()
  • косинус, инверзни косинус:math.cos(),math.acos()
  • Тангента, Инверзна тангента:math.tan(),math.atan(),math.atan2()
  • Разлике испод:math.atan(),math.atan2()

Пи (3.1415926..):math.pi

Пи је обезбеђен као константа у математичком модулу. Изражава се на следећи начин.
math.pi

import math

print(math.pi)
# 3.141592653589793

Конверзија угла (радијани, степени):math.degrees(),math.radians()

Тригонометријске и инверзне тригонометријске функције у модулу математике користе радијан као јединицу угла.

Користите матх.дегреес() и матх.радианс() да бисте претворили радијане (метода степена лука) и степени (метода степена).

Матх.дегреес() претвара из радијана у степене, а матх.радианс() претвара из степени у радијане.

print(math.degrees(math.pi))
# 180.0

print(math.radians(180))
# 3.141592653589793

Синус, инверзни синус:math.sin(),math.asin()

Функција за проналажење синуса (син) је матх.син(), а функција за проналажење инверзног синуса (арцсин) је матх.асин().

Ево примера проналажења синуса од 30 степени, користећи матх.радианс() за претварање степени у радијане.

sin30 = math.sin(math.radians(30))
print(sin30)
# 0.49999999999999994

Синус од 30 степени је 0,5, али постоји грешка јер се пи, ирационалан број, не може тачно израчунати.

Ако желите да заокружите на одговарајући број цифара, користите функцију роунд() или формат() или функцију формат().

Имајте на уму да је повратна вредност роунд() број (инт или флоат), али је повратна вредност формат() стринг. Ако желите да га користите за наредне прорачуне, користите роунд().

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'>

Функција роунд() наводи број децималних места као свој други аргумент. Имајте на уму да ово није стриктно заокруживање. За детаље погледајте следећи чланак.

Метода формат() и функција формат() одређују број децималних места у низу спецификације форматирања. За детаље погледајте следећи чланак.

Ако желите да упоредите, можете користити и матх.исцлосе().

print(math.isclose(sin30, 0.5))
# True

Слично, ево примера проналажења инверзног синуса од 0,5. матх.асин() враћа радијане, који се конвертују у степене помоћу матх.дегреес().

asin05 = math.degrees(math.asin(0.5))
print(asin05)
# 29.999999999999996

print(round(asin05, 3))
# 30.0

косинус, инверзни косинус:math.cos(),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()

Функција за проналажење тангенте (тан) је матх.тан(), а функција за проналажење инверзне тангенте (арцтан) је матх.атан() или матх.атан2().
Матх.атан2() је описан касније.

Пример проналажења тангенте од 45 степени и инверзне тангенте од 1 степена је приказан испод.

print(math.tan(math.radians(45)))
# 0.9999999999999999

print(math.degrees(math.atan(1)))
# 45.0

Разлика између матх.атан() и матх.атан2()

И матх.атан() и матх.атан2() су функције које враћају инверзну тангенту, али се разликују по броју аргумената и опсегу повратних вредности.

матх.атан(к) има један аргумент и враћа арцтан(к) у радијанима. Повратна вредност ће бити између -пи \ 2 и пи \ 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

У горњем примеру, матх.инф представља бесконачност.

матх.атан2(и, к) има два аргумента и враћа арцтан(и \ к) у радијанима. Овај угао је угао (деклинација) који вектор од почетка до координата (к, и) прави са позитивним правцем к осе у поларној координатној равни, а враћена вредност је између -пи и пи (-180 до 180 степени).

Пошто се углови у другом и трећем квадранту такође могу правилно добити, матх.атан2() је прикладнији од матх.атан() када се разматра поларна координатна раван.

Имајте на уму да је редослед аргумената и, к, а не к, и.

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

Као у горњем примеру, негативан смер к-осе (и је нула, а к је негативан) је пи (180 степени), али када је и негативна нула, то је -пи (-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

Чак и када су и к и и нула, резултат зависи од предзнака.

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

Постоје и други примери где се предзнак резултата мења у зависности од негативних нула, као што су матх.атан2() као и матх.син(), матх.асин(), матх.тан() и матх.атан() .

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

Имајте на уму да су досадашњи примери резултати покретања програма у ЦПитхон-у. Имајте на уму да друге имплементације или окружења могу другачије да обрађују негативне нуле.

Copied title and URL