Math.sin: примеры (PYTHON)

Использование функции math.sin в Python для тригонометрических расчетов
Раздел: Математика, Тригонометрия
math.sin(x: float): float

Описание функции math.sin

Функция math.sin(x) является частью модуля math в Python и вычисляет синус угла x, заданного в радианах.

Применяется в научных вычислениях, компьютерной графике, обработке сигналов и физическом моделировании.

Аргумент x может быть целым или вещественным числом. Если передать нечисловой тип, возникнет TypeError.

Возвращаемое значение - вещественное число в диапазоне от -1 до 1, представляющее синус угла.

Для работы с комплексными числами используется модуль cmath.

Базовые примеры использования

Пример вычисления синуса для различных углов:

import math

# Синус нуля
print(math.sin(0))
0.0
# Синус пи/2
print(math.sin(math.pi / 2))
1.0
# Синус пи
print(math.sin(math.pi))
1.2246467991473532e-16
# Отрицательный угол
print(math.sin(-math.pi / 4))
-0.7071067811865475

Похожие функции в Python

math.cos - вычисляет косинус угла в радианах.

math.tan - возвращает тангенс угла в радианах.

cmath.sin - работает с комплексными числами.

numpy.sin - оптимизирован для массивов, применяется в научных вычислениях.

Функцию math.sin выбирают для одиночных вычислений, а numpy.sin - для обработки массивов данных.

Аналоги функции в других языках

JavaScript: Math.sin(x), угол в радианах.

console.log(Math.sin(Math.PI / 2));
1

Java: Math.sin(double a), возвращает double.

System.out.println(Math.sin(Math.PI / 2));
1.0

PHP: sin($x), аргумент в радианах.

echo sin(M_PI / 2);
1

C#: Math.Sin(double a), угол в радианах.

Console.WriteLine(Math.Sin(Math.PI / 2));
1

Go: math.Sin(x float64) float64.

import "math"
fmt.Println(math.Sin(math.Pi / 2))
1

Во всех языках функция принимает угол в радианах, аналогично Python.

Распространенные ошибки

Передача угла в градусах без преобразования в радианы.

import math
# Неверно: синус 90 градусов
print(math.sin(90))
0.8939966636005579

Правильный вариант:

print(math.sin(math.radians(90)))
1.0

Передача нечислового аргумента.

print(math.sin("90"))
TypeError: must be real number, not str

Большие значения аргумента, приводящие к потере точности.

print(math.sin(1e100))
-0.3723761236612767

Изменения в последних версиях Python

В Python 3.11 улучшена производительность математических функций, включая math.sin, за счет оптимизаций в интерпретаторе.

Семантика и возвращаемые значения остались без изменений.

Расширенные примеры применения

Генерация синусоидального сигнала:

Пример python
import math

freq = 440  # Частота в Гц
sampling_rate = 44100
duration = 1.0  # Длительность в секундах
samples = []
for i in range(int(sampling_rate * duration)):
    value = math.sin(2 * math.pi * freq * i / sampling_rate)
    samples.append(value)
print(samples[:5])
[0.0, 0.06264832, 0.12505052, 0.18696144, 0.24813787]

Использование в векторных вычислениях с NumPy:

Пример python
import numpy as np
angles = np.array([0, np.pi/2, np.pi])
print(np.sin(angles))
[0.0000000e+00 1.0000000e+00 1.2246468e-16]

Решение уравнения для нахождения угла по значению синуса:

Пример python
import math

value = 0.5
angle = math.asin(value)  # Обратная функция
print(f"Угол: {angle} радиан, {math.degrees(angle)} градусов")
Угол: 0.5235987755982988 радиан, 30.0 градусов

Применение в анимации для плавного изменения:

Пример python
import math
time = 0.0
amplitude = 100
while time < 2 * math.pi:
    y = amplitude * math.sin(time)
    print(f"Time: {time:.2f}, Y: {y:.2f}")
    time += 0.5
Time: 0.00, Y: 0.00
Time: 0.50, Y: 47.94
Time: 1.00, Y: 84.15
Time: 1.50, Y: 99.75
Time: 2.00, Y: 90.93
Time: 2.50, Y: 59.82
Time: 3.00, Y: 14.11
Time: 3.50, Y: -35.08
Time: 4.00, Y: -75.68
Time: 4.50, Y: -97.50
Time: 5.00, Y: -95.89
Time: 5.50, Y: -71.97

питон math.sin function comments

En
Math.sin Return the sine of x radians