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 sería la siguiente:
<?php // Calculo de la ecuacion de segundo grado  // Desarrollado por ArtesaniaWeb.ES // https://www.artesaniaweb.es/articulo.php?titulo=ecuacion-de-segundo-grado-con-php-bvupa function Ecu_2g($a,$b,$c,$rd){     $menosb $b * -1;      $oper1 pow($b2);      $oper2 $a $c;      $resta $oper1 $oper2;      $raiz sqrt($resta);      $dosa $a;          $result1 round(($menosb $raiz) / $dosa$rd);         $result2 round(($menosb $raiz) / $dosa$rd);     $array_result2g = array(=> $result1=> $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 "<p>Ecuacion: $a X<sup>2</sup> $b X $c = 0 </p>     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 más simple de lo que en principio cabría 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áramos 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 más 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.

Es importante agregar que cuando nos introducimos en el cálculo de formulas matemáticas tenemos que conocer un poco la teoría que hay tras ellas. Un caso que me ha sido consultado por privado es el relativo a que la función presentada no funciona cuando “a” en aX2 vale 0. Y es lógico que no funcione, por que como sabemos, cualquier valor que multipliquemos por 0, dará 0. Así, si X2 = 0, ya no estamos ante una ecuación de segundo grado, estamos ante una ecuación de primer grado. Ej: 0X2 -3X + 6 = 0 es lo mismo que -3X + 6 = 0, cuya solución es X = 2.

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 fórmula con PHP.
Tags: Ecuación || segundo grado || matemáticas || incógnita || función

Comentarios.

Sin comentarios, publica el tuyo.