PHP 8.4.1 Released!

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

Содержание

  • abs — Возвращает абсолютную величину (модуль числа)
  • acos — Вычисляет арккосинус
  • acosh — Вычисляет гиперболический арккосинус
  • asin — Вычисляет арксинус
  • asinh — Вычисляет гиперболический арксинус
  • atan — Вычисляет арктангенс
  • atan2 — Вычисляет арктангенс двух переменных
  • atanh — Вычисляет гиперболический арктангенс
  • base_convert — Преобразовывает числа между произвольными системами счисления
  • bindec — Преобразовывает двоичное число в десятичное
  • ceil — Округляет дробное число в бо́льшую сторону
  • cos — Вычисляет косинус
  • cosh — Вычисляет гиперболический косинус
  • decbin — Переводит число из десятичной системы счисления в двоичную
  • dechex — Переводит число из десятичной системы счисления в шестнадцатеричную
  • decoct — Переводит число из десятичной системы счисления в восьмеричную
  • deg2rad — Преобразовывает значение из градусов в радианы
  • exp — Вычисляет степень числа e
  • expm1 — Возвращает результат exp($num) - 1, вычисленный так, чтобы он был точным, даже если значение числа близко к нулю.
  • fdiv — Делит числа по правилам стандарта IEEE 754
  • floor — Округляет дробное число в меньшую сторону
  • fmod — Возвращает дробный остаток от деления по модулю
  • fpow — Возводит число в степень по правилам стандарта IEEE 754
  • hexdec — Переводит число из шестнадцатеричной системы счисления в десятичную
  • hypot — Рассчитывает длину гипотенузы прямоугольного треугольника
  • intdiv — Делит два числа без остатка
  • is_finite — Проверяет, конечно ли число с плавающей точкой
  • is_infinite — Проверяет, бесконечно ли число с плавающей точкой
  • is_nan — Проверяет, представляет ли собой число с плавающей точкой нечисло
  • log — Вычисляет натуральный логарифм
  • log10 — Вычисляет десятичный логарифм
  • log1p — Возвращает результат log(1 + number), вычисленный так, чтобы он был точным, даже если значение числа близко к нулю.
  • max — Возвращает наибольшее значение
  • min — Находит наименьшее значение
  • octdec — Переводит число из восьмеричной системы счисления в десятичную
  • pi — Возвращает число Пи
  • pow — Возводит число в степень
  • rad2deg — Преобразовывает значение из радианов в градусы
  • round — Округляет число с плавающей точкой
  • sin — Вычисляет синус
  • sinh — Вычисляет гиперболический синус
  • sqrt — Извлекает квадратный корень
  • tan — Вычисляет тангенс
  • tanh — Вычисляет гиперболический тангенс
Добавить

Примечания пользователей 4 notes

up
11
pat.mat AT sympatico DOT com
20 years ago
For people interest in Differential Equations, I've done a function that receive a string like: x^2+x^3 and put it in
2x+3x^2 witch is the differantial of the previous equation.

In the code there is one thing missing: the $string{$i} is often going outOfBound (Uninitialized string offset: 6 in...)
if your error setting is set a little too high... I just dont know how to fix this.

So there is the code for differential equation with (+ and -) only:

<?
function differentiel($equa)
{
$equa = strtolower($equa);
echo "Equation de depart: ".$equa."<br>";
$final = "";

for($i = 0; $i < strlen($equa); $i++)
{
//Make a new string from the receive $equa
if($equa{$i} == "x" && $equa{$i+1} == "^")
{
$final .= $equa{$i+2};
$final .= "x^";
$final .= $equa{$i+2}-1;
}
elseif($equa{$i} == "+" || $equa{$i} == "-")
{
$final .= $equa{$i};
}
elseif(is_numeric($equa{$i}) && $i == 0)
{
//gerer parenthese et autre terme generaux + gerer ^apres: 2^2
$final .= $equa{$i}."*";
}
elseif(is_numeric($equa{$i}) && $i > 0 && $equa{$i-1} != "^")
{
//gerer ^apres: 2^2
$final .= $equa{$i}."*";
}
elseif($equa{$i} == "^")
{
continue;
}
elseif(is_numeric($equa{$i}) && $equa{$i-1} == "^")
{
continue;
}
else
{
if($equa{$i} == "x")
{
$final .= 1;
}
else
{
$final .= $equa{$i};
}
}
}
//
//Manage multiplication add in the previous string $final
//
$finalMul = "";
for($i = 0; $i < strlen($final); $i++)
{
if(is_numeric($final{$i}) && $final{$i+1} == "*" && is_numeric($final{$i+2}))
{
$finalMul .= $final{$i}*$final{$i+2};
}
elseif($final{$i} == "*")
{
continue;
}
elseif(is_numeric($final{$i}) && $final{$i+1} != "*" && $final{$i-1} == "*")
{
continue;
}
else
{
$finalMul .= $final{$i};
}
}
echo "equa final: ".$finalMul;
}
?>

I know this is not optimal but i've done this quick :)
If you guys have any comment just email me.
I also want to do this fonction In C to add to phpCore maybe soon...
Patoff
up
5
daniel at g-loc dot org
18 years ago
If you're an aviator and needs to calculate windcorrection angles and groundspeed (e.g. during flightplanning) this can be very useful.

$windcorrection = rad2deg(asin((($windspeed * (sin(deg2rad($tt - ($winddirection-180))))/$tas))));
$groundspeed = $tas*cos(deg2rad($windcorrection)) + $windspeed*cos(deg2rad($tt-($winddirection-180)));

You can probably write these lines more beautiful, but they work!
up
3
lummox
16 years ago
Wouldn't the following function do the same but a lot easier than the one in the comment before?

function trimInteger($targetNumber,$newLength) {
return $targetNumber%pow(10,$newLength);
}
up
1
info at gavinvincent dot co dot uk
20 years ago
If you need to deal with polar co-ordinates for somereason you will need to convert to and from x,y for input and output in most situations: here are some functions to convert cartesian to polar and polar to cartesian
<?
//returns array of r, theta in the range of 0-2*pi (in radians)
function rect2polar($x,$y)
{
if(is_numeric($x)&&is_numeric($y))
{
$r=sqrt(pow($x,2)+pow($y,2));
if($x==0)
{
if($y>0) $theta=pi()/2;
else $theta=3*pi()/2;
}
else if($x<0) $theta=atan($y/$x)+pi();
else if($y<0) $theta=atan($y/$x)+2*pi();
else $theta=atan($y/$x);
$polar=array("r"=>$r,"theta"=>$theta);
return $polar;
}
else return false;
}

//r must be in radians, returns array of x,y
function polar2rect($r,$theta)
{
if(is_numeric($r)&&is_numeric($theta))
{
$x=$r*cos($theta);
$y=$r*sin($theta);
$rect=array("x"=>$x,"y"=>$y);
}
else
{
return false;
}
}
?>
To Top