Ecuación de segundo grado con PHP.

Resumen.

Los cálculos matemáticos es una de esas cuestiones que PHP resuelve con gran facilidad. En este artículo vamos a presentar esa famosa formula que nos permite resolver una ecuación de segundo grado, y que a mas de uno nos dio dolores de cabeza en un momento. La función además nos permitirá indicar el número máximo de decimales que deseamos.

Artículo.

Realizar cálculos matemáticos con PHP es sencillo, muy sencillo, muchas veces depende mas de nuestros conocimientos matemáticos sobre como introducir las operaciones, que de aspectos de programación en cuanto tal.

En este artículo vamos a presentar una función que nos calcula la famosa ecuación de 2º grado, cuya formula es la siguiente:



Vamos a seguir un orden para realizar estos cálculos que consiste básicamente en simplificar los cálculos a su expresión mas sencilla, siendo este el punto en que podemos discrepar, ¿qué es lo que cada cual considera mas sencillo? La función seria la siguiente:

<?php
// Calculo de la ecuación de segundo grado
// Desarrollado por ArtesaniaWeb.ES

function Ecu_2g($a,$b,$c,$rd){
$menosb = $b * -1;
$oper1 = pow($b, 2);
$oper2 = 4 * $a * $c;
$resta = $oper1 - $oper2;
$raiz = sqrt($resta);
$dosa = 2 * $a;
$result1 = round(($menosb + $raiz) / $dosa, $rd);
$result2 = round(($menosb - $raiz) / $dosa, $rd);
$array_result2g = array(1 => $result1, 2 => $result2);
return $array_result2g;
}

// Aplicamos la funcion
$a = 3;
$b = -5;
$c = -9;
$rd = 4; // Numero de decimales

$calcula_ecuacion = Ecu_2g($a,$b,$c,$rd);

echo "Solucion 1 = $calcula_ecuacion[1] <br />
Solucion 2 = $calcula_ecuacion[2]";
?>


Como podemos ver, la programación de esta función, al menos a mi, me parece mas simple de lo que en principio cabria esperar, solo precisamos de las funciones nativas pow(valor, exponente) para el cálculo de potencias y sqrt(valor) para calcular la raíz cuadrada.

Lo que hemos hecho ha sido desgranar los cálculos tal y como lo habríamos hecho si usásemos una calculadora para realizar el cálculo manual. El nombre de las variables indica la operación realizada.

La función recibe 4 parámetros, de los cuales, los tres primeros corresponden a los posible valores de la ecuación para a, b y c; que serán números reales. El último parámetro $rd hace referencia al número de decimales que deseamos obtener como resultado, ejecutando el redondeo mediante la función round(valor, decimales) que aproxima al valor mas próximo.

Como sabemos, esta ecuación nos puede dar tres posibles resultados: sin solución, una solución o dos soluciones. Cuando no tiene solución la ecuación el resultado será NAN, y los posibles resultados serán números reales, es decir, negativos, cero y positivos.

Dado que esta ecuación puede dar más de un resultado, el return de la función deberá ser de tipo array, y en este caso le hemos asignado al array las keys 1 y 2, si no hubiéramos definido las keys, tendríamos que llamar a las soluciones por las keys asignadas de forma predeterminada por PHP, es decir, 0 y 1.

Esperamos esta función os resulte útil, pero no solo eso, la toméis como referencia para poder calcular cualquier formula con PHP.
Tags: Ecuación || segundo grado || matemáticas || cálculo || función

Comentarios.

Sin comentarios, publica el tuyo.