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;
}
?>
数学関数
- 導入
- インストール/設定
- 定義済み定数
- Math 関数
- abs — 絶対値
- acos — 逆余弦(アークコサイン)
- acosh — 逆双曲線余弦(アークハイパボリックコサイン)
- asin — 逆正弦(アークサイン)
- asinh — 逆双曲線正弦(アークハイパボリックサイン)
- atan2 — 2 変数のアークタンジェント
- atan — 逆正接(アークタンジェント)
- atanh — 逆双曲線正接(アークハイパボリックタンジェント)
- base_convert — 数値の基数を任意に変換する
- bindec — 2 進数 を 10 進数に変換する
- ceil — 端数の切り上げ
- cos — 余弦(コサイン)
- cosh — 双曲線余弦(ハイパボリックコサイン)
- decbin — 10 進数を 2 進数に変換する
- dechex — 10 進数を 16 進数に変換する
- decoct — 10 進数を 8 進数に変換する
- deg2rad — 度単位の数値をラジアン単位に変換する
- exp — e の累乗を計算する
- expm1 — 値がゼロに近い時にでも精度を保つために exp(number) - 1 を返す
- floor — 端数の切り捨て
- fmod — 引数で除算をした際の剰余を返す
- getrandmax — 乱数の最大値を取得する
- hexdec — 16 進数を 10 進数に変換する
- hypot — 直角三角形の斜辺の長さを計算する
- is_finite — 値が有限の数値であるかどうかを判定する
- is_infinite — 値が無限大であるかどうかを判定する
- is_nan — 値が数値でないかどうかを判定する
- lcg_value — 複合線形合同法
- log10 — 底が 10 の対数
- log1p — 値がゼロに近い時にでも精度を保つ方法で計算した log(1 + number) を返す
- log — 自然対数
- max — 最大値を返す
- min — 最小値を返す
- mt_getrandmax — 乱数値の最大値を表示する
- mt_rand — よりよい乱数値を生成する
- mt_srand — 改良型乱数生成器にシードを指定する
- octdec — 8 進数を 10 進数に変換する
- pi — 円周率の値を得る
- pow — 指数表現
- rad2deg — ラジアン単位の数値を度単位に変換する
- rand — 乱数を生成する
- round — 浮動小数点数を丸める
- sin — 正弦(サイン)
- sinh — 双曲線正弦(ハイパボリックサイン)
- sqrt — 平方根
- srand — 乱数ジェネレータを初期化する
- tan — 正接(タンジェント)
- tanh — 双曲線正接(ハイパボリックタンジェント)
Math
Anonymous:
23-Dec-2008 08:20
23-Dec-2008 08:20
Sanjay Ichalkaranje
11-Oct-2008 10:34
11-Oct-2008 10: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;
}
?>
