数学扩展
在线手册:中文 英文
PHP手册

Mathematical Functions


数学扩展
在线手册:中文 英文
PHP手册
PHP手册 - N: Mathematical Functions

用户评论:

Anonymous: (23-Dec-2008 07:20)

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;
}
?>

Sanjay Ichalkaranje (11-Oct-2008 09: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;
}
?>