Funciones Matemáticas
Tabla de contenidos
- abs — Valor absoluto
- acos — Arc coseno
- acosh — Arco coseno hiperbólico
- asin — Arco seno
- asinh — Arco seno hiperbólico
- atan — Arc tangente
- atan2 — Arco tangente de dos variables
- atanh — Arco tangente hiperbólica
- base_convert — Convierte un número entre bases arbitrarias
- bindec — Convierte de binario a decimal
- ceil — Redondea al número superior
- cos — Coseno
- cosh — Coseno hiperbólico
- decbin — Convierte de decimal a binario
- dechex — Convierte de decimal a hexadecimal
- decoct — Convierte de decimal a octal
- deg2rad — Convierte un número de grados en radianes
- exp — Calcula la exponencial de e
- expm1 — Devuelve exp($num) - 1, calculado de manera precisa incluso
cuando el valor del número es cercano a cero
- fdiv — Divide dos números, según la norma IEEE 754
- floor — Redondea hacia el entero inferior
- fmod — Devuelve el resto de la división
- fpow — Eleva un número a la potencia de otro, según la norma IEEE 754
- hexdec — Convierte de hexadecimal a decimal
- hypot — Calcula la longitud de la hipotenusa de un triángulo rectángulo
- intdiv — División de Enteros
- is_finite — Verifica si un número flotante es finito
- is_infinite — Verifica si un número de tipo float es infinito
- is_nan — Verifica si un número flotante es NAN
- log — Logaritmo natural (neperiano)
- log10 — Logaritmo en base 10
- log1p — Calcula con precisión log(1 + número)
- max — El valor más grande
- min — El valor más pequeño
- octdec — Conversión de octal a decimal
- pi — Devuelve el valor de pi
- pow — Expresión exponencial
- rad2deg — Conversión de radianes a grados
- round — Redondea un número de punto flotante
- sin — Seno
- sinh — Seno hiperbólico
- sqrt — Raíz cuadrada
- tan — Tangente
- tanh — Tangente hiperbólica
pat.mat AT sympatico DOT com ¶ 22 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
daniel at g-loc dot org ¶ 20 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!