Предыдущая: arrays2, Вверх: Top


13 Математическая библиотека

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

Библиотека языка Питон разбита на части, называемые модулями. В этом листке мы рассмотрим модуль math, содержащий множество математических функций. Для их использования необходимо в начале своей программы написать инструкцию

     import math

Теперь мы можем использовать (вызвать) функцию sin из модуля math (которая вычисляет синус действительного числа), например, следующим образом:

     y=math.sin(x)

В этом примере переменной y будет присвоено значение sin(x), где x рассматривается как градусная мера угла в радианах. Выражение, стоящее в скобках, называется аргументом функции и может быть не только переменной, но и произвольным арифметическим выражением. Результат вычисления функции можно не только присвоить переменной, а произвольным образом использовать в арифметических выражениях, или вывести его на экран. Например:

     print "Всем известно, что косинус 0 равен", math.cos(0)

Далеко не полный список математических функций выглядит так:

sin(x)
Вычисляет синус угла x радиан
cos(x)
Вычисляет косинус угла x радиан
tan(x)
Вычисляет тангенс угла x радиан
asin(x)
Вычисляет (в радианах) арксинус x
acos(x)
Вычисляет (в радианах) арккосинус x
atan(x)
Вычисляет (в радианах) арктангенс x
floor(x)
Округляет число x вниз. Результатом является наибольшее целое число, не превосходящее x, представленное в виде действительного числа.
ceil(x)
Округляет число x вверх. Результатом является наименьшее целое число, не меньше x, представленное в виде действительного числа.
fabs(x)
Вычисляет модуль (абсолютную величину) действительного числа x

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

Все вышеперечисленные функции имеют один аргумент, но у функций аргументов может быть больше. Примером функции от двух аргументов является функция math.hypot(x,y), которая возвращает длину диагонали прямоугольного треугольника с катетами x и y, то есть (x**2+y**2)**0.5. Также в модуле math определены две константы: math.pi, равное числу π

и math.e — основание натуральных логарифмов e.

Упражнения

  1. Выведите на экран значение синуса, косинуса и тангенса углов в 0, π/6, π/4, π/3, π/2, π радиан.
  2. Функция y=sin(x) на отрезке [0,π/2] хорошо аппроксимируется функцией y=x-x^3/6+x^5/120. Для данного x выведите на экран результат точное значение sin(x), результат приближения, полученный по указанной формуле и абсолютную погрешность приближения (т.е. модуль разности точного значения и его приближения).
  3. По данным катетам прямоугольного треугольника вычислите значения его острых углов (в градусах).
  4. Чапаеву надо под прямым углом к фарватеру пересечь реку Урал шириной l метров. Его скорость в стоячей воде v_1 м/c, скорость течения u м/c. Под каким углом к фарватеру следует плыть Чапаеву, чтобы его не снесло? Сколько времени займет переправа? На какое расстояние снесет Чапаева, если он будет продолжать плыть под прежним углом, но посередине реки его ранят, в результате чего его скорость упадет до v_2 м/c?
  5. Снаряд вылетает из пушки со скоростью v м/c и углом α к горизонту. Найдите время полета снаряда, его перемещение и максимальную высоту подъема над горизонтом.