Cos: примеры (PHP)
cos(float $num): floatФункция cos() в PHP вычисляет косинус угла, заданного в радианах. Она применяется в математических расчетах, физическом моделировании, компьютерной графике и обработке сигналов.
- $num (float) — единственный обязательный аргумент, представляющий угол в радианах.
Функция возвращает значение типа float в диапазоне от -1 до 1. Если аргумент не является числом, PHP попытается выполнить приведение к числовому типу.
<?php
echo cos(0); // Косинус нуля радиан
?>1
<?php
echo cos('1.57'); // Строка преобразуется в число
?>7.9632671073326E-4
<?php
echo cos(M_PI); // Косинус числа Пи
?>-1
- sin() — вычисляет синус угла.
- tan() — возвращает тангенс угла.
- acos() — арккосинус, обратная функция к cos.
- cosh() — гиперболический косинус.
Выбор функции зависит от решаемой задачи: cos() используется для прямоугольных треугольников и периодических процессов, cosh() — для гиперболических функций.
Cos в Python
import math
print(math.cos(0))1.0
В Python функция принимает только числовые типы, иначе возникает исключение TypeError.
Cos в Javascript
console.log(Math.cos(0));1
В JavaScript аргумент также в радианах, но неявное преобразование строк происходит без предупреждений.
Cos в MySQL
SELECT COS(0);1
В SQL функция работает аналогично, но часто применяется в запросах к базам данных для вычислений.
<?php
echo cos('текст');
?>Warning: cos() expects parameter 1 to be float, string given
<?php
$degrees = 60;
echo cos($degrees); // Ошибка: не преобразовано в радианы
?>-0.95241298041516
Правильный подход — предварительное преобразование: cos(deg2rad($degrees)).
В PHP 8 функция cos() не претерпела значимых изменений. Единственное отличие — более строгая типизация: при передаче нечислового аргумента теперь генерируется предупреждение TypeError, тогда как в PHP 7 выдавалось предупреждение E_WARNING.
<?php
$amplitude = 5;
$frequency = 2;
$time = 0.5;
$signal = $amplitude * cos(2 * M_PI * $frequency * $time);
echo $signal;
?>5
<?php
$angle = deg2rad(45);
$x = 10;
$y = 0;
$newX = $x * cos($angle) - $y * sin($angle);
$newY = $x * sin($angle) + $y * cos($angle);
echo "($newX, $newY)";
?>(7.0710678118655, 7.0710678118655)
<?php
for ($t = 0; $t <= 1; $t += 0.2) {
$value = (1 - cos($t * M_PI)) / 2; // Плавный переход от 0 к 1
echo round($value, 2) . "\n";
}
?>0 0.1 0.5 0.9 1 1