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

Содержание

  • abs — Модуль числа
  • acos — Арккосинус
  • acosh — Гиперболический арккосинус
  • asin — Арксинус
  • asinh — Гиперболический арксинус
  • atan2 — Арктангенс двух переменных
  • atan — Арктангенс
  • atanh — Гиперболический арктангенс
  • base_convert — Преобразование числа между произвольными системами счисления
  • bindec — Двоичное в десятичное
  • ceil — Округляет дробь в большую сторону
  • cos — Косинус
  • cosh — Гиперболический косинус
  • decbin — Переводит число из десятичной системы счисления в двоичную
  • dechex — Переводит число из десятичной системы счисления в шестнадцатеричную
  • decoct — Переводит число из десятичной системы счисления в восьмеричную
  • deg2rad — Преобразует значение из градусов в радианы
  • exp — Вычисляет число e в степени
  • expm1 — Возвращает exp(number) - 1, рассчитанное таким образом, что результат точен, даже если number близок к нулю.
  • floor — Округляет дробь в меньшую сторону
  • fmod — Возвращает дробный остаток от деления по модулю
  • getrandmax — Возвращает максимально возможное случайное число
  • hexdec — Переводит число из шестнадцатеричной системы счисления в десятичную
  • hypot — Рассчитывает длину гипотенузы прямоугольного треугольника
  • intdiv — Integer division
  • is_finite — Проверяет, является ли значение допустимым конечным числом
  • is_infinite — Проверяет, является ли значение бесконечным
  • is_nan — Проверяет, является ли значение "не числом"
  • lcg_value — Комбинированный линейно конгруэнтный генератор
  • log10 — Десятичный логарифм
  • log1p — Возвращает log(1 + number), рассчитанный таким, что результат точен, даже если значение number близко к нулю
  • log — Натуральный логарифм
  • max — Возвращает наибольшее значение
  • min — Находит наименьшее значение
  • mt_getrandmax — Показывает максимально возможное значение случайного числа
  • mt_rand — Генерирует случайное значение методом mt
  • mt_srand — Переинициализирует генератор случайных чисел mt
  • octdec — Переводит число из восьмеричной системы счисления в десятичную
  • pi — Возвращает число Пи
  • pow — Возведение в степень
  • rad2deg — Преобразует значение из радианов в градусы
  • rand — Генерирует случайное число
  • round — Округляет число типа float
  • sin — Синус
  • sinh — Гиперболический синус
  • sqrt — Квадратный корень
  • srand — Изменяет начальное число генератора псевдослучайных чисел
  • tan — Тангенс
  • tanh — Гиперболический тангенс

Коментарии

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 && $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
2004-06-08 22:36:45
http://php5.kiev.ua/manual/ru/ref.math.html
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;
 }
}
?>
2004-11-17 06:34:45
http://php5.kiev.ua/manual/ru/ref.math.html
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!
2005-12-01 12:01:46
http://php5.kiev.ua/manual/ru/ref.math.html
Автор:
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); 
}
2008-02-02 09:24:56
http://php5.kiev.ua/manual/ru/ref.math.html

    Поддержать сайт на родительском проекте КГБ