Primero, un analizador sintáctico (o parser) analiza la función matemática. Este la convierte a un formato más comprensible para una computadora, esto es un árbol (veáse figura abajo). Al hacer esto, la Calculadora de Derivadas tiene que respetar el orden de operaciones. Algo especial en expresiones matemáticas es que el signo de multiplicación puede ser omitido en ocasiones, por ejemplo escribimos "5x" en lugar de "5*x". La Calculadora de Derivadas tiene que detectar esos casos e insertar el signo de multiplicación.
El parser está implementado en JavaScript, basado en el algoritmo Shunting-yard, y puede ser ejecutado directamente en el explorador. Esto permite un rápido feedback mientras escribimos al transformar el árbol en código LaTeX. MathJax se encarga de mostrar la función en el explorador.
Cuando el botón "Ir" es presionado, la Calculadora de Derivadas envía la función matemática y las opciones de configuración (variable y orden de derivación) al servidor, donde es analizada otra vez. Esta vez, la función es transformada a un formato que puede ser entendido por el sistema de álgebra computacional Maxima.
Maxima se encarga en realidad del cómputo de la derivada de la función matemática. Como cualquier sistema de álgebra computacional, este aplica un número de reglas para simplificar la función y calcular la derivada de acuerdo con las comúnmente conocidas reglas de derivación. El resultado de Maxima es transformado a LaTeX otra vez y es presentado entonces al usuario.
Mostrar los pasos del cálculo es un poco más complicado, por que la Calculadora de Derivadas no puede depender completamente de Maxima para esta tarea. En lugar de ello, las derivadas tienen que ser calculadas manualmente paso por paso. Las reglas de derivación (regla del producto, regla del cociente, regla de la cadena, …) han sido implementadas en código de JavaScript. También hay una tabla de derivadas para las funciones trigonométricas, la raíz cuadrada, la función logarítmica y la exponencial. En cada paso se lleva a cabo el cálculo de una derivada o esta se reescribe de otra forma equivalente. Por ejemplo, factores constantes se sacan de la derivada y las sumas son separadas en sus términos (regla de la suma). Esto, así como simplificaciones generales, es realizado por Maxima. Por cada derivada calculada, la representación de LaTeX de la expresión matemática resultante es etiquetada de forma particular en el codigo HTML para hacer posible después el resaltado de expresiones con color.
La función "Verifica la respuesta" tiene que resolver la difícil tarea de determinar si dos expresiones matemáticas son equivalentes. Su diferencia se calcula y simplifica tanto como sea posible usando Maxima. Por ejemplo, esto implica escribir funciones trigonométricas/hiperbólicas en sus formas exponenciales. Si se puede demostrar que la diferencia es cero, la tarea está resuelta. De otra manera, se aplica un algoritmo probabilístico que evalúa y compara ambas funciones en lugares determinados aleatoriamente.
Las gráficas interactivas de funciones son calculadas en el explorador y se muestran dentro de un lienzo, también llamado elemento canvas (HTML5). Por cada función a graficar, la calculadora crea una función de JavaScript, que es finalmente evaluada en intérvalos pequeños a fin de dibujar el gráfico. Al dibujar los gráficos, las singularidades matemáticas (p. ej. polos) son detectadas y tratadas especialmente. El control de gestos se implementó usando Hammer.js.
Respuesta:
Explicación paso a paso:
Primero, un analizador sintáctico (o parser) analiza la función matemática. Este la convierte a un formato más comprensible para una computadora, esto es un árbol (veáse figura abajo). Al hacer esto, la Calculadora de Derivadas tiene que respetar el orden de operaciones. Algo especial en expresiones matemáticas es que el signo de multiplicación puede ser omitido en ocasiones, por ejemplo escribimos "5x" en lugar de "5*x". La Calculadora de Derivadas tiene que detectar esos casos e insertar el signo de multiplicación.
El parser está implementado en JavaScript, basado en el algoritmo Shunting-yard, y puede ser ejecutado directamente en el explorador. Esto permite un rápido feedback mientras escribimos al transformar el árbol en código LaTeX. MathJax se encarga de mostrar la función en el explorador.
Cuando el botón "Ir" es presionado, la Calculadora de Derivadas envía la función matemática y las opciones de configuración (variable y orden de derivación) al servidor, donde es analizada otra vez. Esta vez, la función es transformada a un formato que puede ser entendido por el sistema de álgebra computacional Maxima.
Maxima se encarga en realidad del cómputo de la derivada de la función matemática. Como cualquier sistema de álgebra computacional, este aplica un número de reglas para simplificar la función y calcular la derivada de acuerdo con las comúnmente conocidas reglas de derivación. El resultado de Maxima es transformado a LaTeX otra vez y es presentado entonces al usuario.
Mostrar los pasos del cálculo es un poco más complicado, por que la Calculadora de Derivadas no puede depender completamente de Maxima para esta tarea. En lugar de ello, las derivadas tienen que ser calculadas manualmente paso por paso. Las reglas de derivación (regla del producto, regla del cociente, regla de la cadena, …) han sido implementadas en código de JavaScript. También hay una tabla de derivadas para las funciones trigonométricas, la raíz cuadrada, la función logarítmica y la exponencial. En cada paso se lleva a cabo el cálculo de una derivada o esta se reescribe de otra forma equivalente. Por ejemplo, factores constantes se sacan de la derivada y las sumas son separadas en sus términos (regla de la suma). Esto, así como simplificaciones generales, es realizado por Maxima. Por cada derivada calculada, la representación de LaTeX de la expresión matemática resultante es etiquetada de forma particular en el codigo HTML para hacer posible después el resaltado de expresiones con color.
La función "Verifica la respuesta" tiene que resolver la difícil tarea de determinar si dos expresiones matemáticas son equivalentes. Su diferencia se calcula y simplifica tanto como sea posible usando Maxima. Por ejemplo, esto implica escribir funciones trigonométricas/hiperbólicas en sus formas exponenciales. Si se puede demostrar que la diferencia es cero, la tarea está resuelta. De otra manera, se aplica un algoritmo probabilístico que evalúa y compara ambas funciones en lugares determinados aleatoriamente.
Las gráficas interactivas de funciones son calculadas en el explorador y se muestran dentro de un lienzo, también llamado elemento canvas (HTML5). Por cada función a graficar, la calculadora crea una función de JavaScript, que es finalmente evaluada en intérvalos pequeños a fin de dibujar el gráfico. Al dibujar los gráficos, las singularidades matemáticas (p. ej. polos) son detectadas y tratadas especialmente. El control de gestos se implementó usando Hammer.js.
Resultado abajo, me das corona?