Here is a simple number digit counter function, I used it to check if a number is a palindrome or not, Plus a Distance function, slope formula, sum from one to an integer, sum of odd numbers from one to specified number, and last but not least the sum of the squares of the values of the sine of x, and the cosine of y.
<?php
function digit_count($num){
for($i=0;pow(10,$i)<=$num;$i++){
if(pow(10,$i+1)>$num){
$num_digits = $i+1;
}
}
return $num_digits;
}
function distance($x_1,$y_1,$x_2,$y_2){
return sqrt(pow($x_1-$x_2,2)+pow($y_1-$y_2,2));
}
function slope($x_1,$y_1,$x_2,$y_2){
return ($y_2-$y_1)/($x_2-$x_1);
}
// example sum(20)=210=1+2+3+...+20
function sum($x){
return ($x)($x+1)/2;
}
// example odd(15)=225=1+3+5+7+9+...+15
function odd($x){
if(($x%2) == 0){
$x-=1;
}
$y=($x+1)/2;
return pow($y,2); //Same as $y*$y;
}
function ($x,$y){
if($x=90-$y){
echo "(Sine of $x)^2 + (Cosine of $y)^2=1";
$value = 1;
}else{
$value = pow(sin($x),2)+pow(cos($y),2);
}
return $value;
}
?>
Математические функции
- Введение
- Установка и настройка
- Предопределенные константы
- Математические функции
- 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 — Рассчитывает длину гипотенузы прямоугольного треугольника
- 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 — Гиперболический тангенс
Anonymous:
22-Dec-2008 11:20
Sanjay Ichalkaranje
11-Oct-2008 01:34
This is the only function I searched that I did not find anywhere on the Internet. This function calculates standard normal cumulative distribution for a particular value. This is NORMSDIST(x) in MS-Excel or OpenOffice.org Calc program.
<?
function normalDist($zScore) {
$p = floatval(0.2316419);
$b1 = floatval(0.319381530);
$b2 = floatval(-0.356563782);
$b3 = floatval(1.781477937);
$b4 = floatval(-1.821255978);
$b5 = floatval(1.330274429);
$t = 1/(1 + ($p * floatval($zScore)));
$zx = (1/(sqrt(2 * pi())) * (exp(0 - pow($zScore, 2)/2)));
$px = 1 - floatval($zx) * (($b1 * $t) + ($b2 * pow($t, 2)) + ($b3 * pow($t, 3)) + ($b4 * pow($t, 4)) + ($b5 * pow($t,5)));
return $px;
}
?>
