English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Математические функции NumPy

Тригонометрические функции

NumPy предоставляет стандартные тригонометрические функции: sin(), cos(), tan().

 import numpy as np 
 a = np.array([0,30,45,60,90])
 print('Значения синуса для различных углов:')
 # Преобразование в радианы умножением на pi/180 
 print(np.sin(a * np.pi / 180))
 print ('\n')
 print('Косинус углов в массиве:')
 print(np.cos(a * np.pi / 180))
 print ('\n')
 print('Тангенс углов в массиве:')
 print(np.tan(a * np.pi / 180))

Результат вывода:

 Значения синуса для различных углов:
 [0. 0.5 0.70710678 0.8660254 1. ]
 Косинус углов в массиве:
 [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01]
  6.12323400e-17]
 Тангенс углов в массиве:
 [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00]
  1.63312394e+16]

Функции arcsin, arccos и arctan возвращают обратные тригонометрические функции sin, cos и tan для заданного угла.

Результаты этих функций можно преобразовать в градусы с помощью функции numpy.degrees().

 import numpy as np 
 a = np.array([0,30,45,60,90]) 
 print ('Массив с значениями синуса: ')}
 sin = np.sin(a*np.pi/180) 
 print (sin)
 print ('\n')
 print ('Вычисление арккосинуса угла, возвращаемое значение в градусах: ')
 inv = np.arcsin(sin) 
 print (inv)
 print ('\n')
 print ('Проверка результатов через преобразование в градусы: ')
 print (np.degrees(inv))
 print ('\n')
 print ('Функции arccos и arctan ведут себя аналогично: ')
 cos = np.cos(a*np.pi/180) 
 print (cos)
 print ('\n')
 print ('Арккосинус: ')
 inv = np.arccos(cos) 
 print (inv)
 print ('\n')
 print ('Единицы измерения в градусах: ')
 print (np.degrees(inv))
 print ('\n')
 print ('Функция tan: ')
 tan = np.tan(a*np.pi/180) 
 print (tan)
 print ('\n')
 print ('Арккосинус: ')
 inv = np.arctan(tan) 
 print (inv)
 print ('\n')
 print ('Единицы измерения в градусах: ')
 print (np.degrees(inv))

Результат вывода:

 Массив с значениями синуса:
 [0. 0.5 0.70710678 0.8660254 1. ]
 Вычисление арккосинуса угла, возвращаемое значение в градусах:
 [0. 0.52359878 0.78539816 1.04719755 1.57079633]
 Проверка результатов через преобразование в градусы:
 [0. 30. 45. 60. 90.]
 Функции arccos и arctan ведут себя аналогично:
 [1.00000000e+00 8.66025404e-01 7.07106781e-01 5.00000000e-01]
  6.12323400e-17]
 Арккосинус:
 [0. 0.52359878 0.78539816 1.04719755 1.57079633]
 Единицы измерения углового градуса:
 [0. 30. 45. 60. 90.]
 Функция tan:
 [0.00000000e+00 5.77350269e-01 1.00000000e+00 1.73205081e+00]
  1.63312394e+16]
 Арккосинус:
 [0. 0.52359878 0.78539816 1.04719755 1.57079633]
 Единицы измерения углового градуса:
 [0. 30. 45. 60. 90.]

Функция округления

Функция numpy.around() возвращает окррругленный значение заданного числа.

 numpy.around(a, decimals)

Описание параметров:

a: Массив decimals: Количество знаков после запятой для округления. По умолчанию 0. Если отрицательное, целое число округляется до места перед десятичной запятой

 import numpy as np 
 a = np.array([1.0, 5.55, 123, 0.567, 25.532]) 
 print ('Оригинальный массив: ')
 print (a)
 print ('\n')
 print ('Округление: ')
 print (np.around(a))
 print (np.around(a, decimals = 1))
 print (np.around(a, decimals = -1))

Результат вывода:

 Исходный массив:
 [ 1. 5.55 123. 0.567 25.532]
 Округление:
 [ 1. 6. 123. 1. 26.]
 [ 1. 5.6 123. 0.6 25.5]
 [ 0. 10. 120. 0. 30.]

numpy.floor()

numpy.floor() возвращает наименьшее целое число, не большее заданного выражения, то есть округление в нижнюю сторону.

 import numpy as np 
 a = np.array([-1.7, 1.5, -0.2, 0.6, 10])
 print ('Предоставленный массив:')
 print (a)
 print ('\n')
 print ('Измененный массив:')
 print (np.floor(a))

Результат вывода:

 Предоставленный массив:
 [-1.7 1.5 -0.2 0.6 10. ]
 Измененный массив:
 [-2. 1. -1. 0. 10.]

numpy.ceil()

numpy.ceil() возвращает наибольший целое число, не меньшее заданного выражения, то есть округление в верхнюю сторону.

 import numpy as np 
 a = np.array([-1.7, 1.5, -0.2, 0.6, 10]) 
 print ('Предоставленный массив:')
 print (a)
 print ('\n')
 print ('Измененный массив:')
 print (np.ceil(a))
 Предоставленный массив:
 [-1.7 1.5 -0.2 0.6 10. ]
 Измененный массив:
 [-1. 2. -0. 1. 10.]