Genera y representa funciones polinómicas a trozos usando HTML y JavaScript
Genera y representa funciones polinómicas a trozos usando HTML y JavaScript
Este script genera el [spline] (https://es.wikipedia.org/wiki/Spline) del tipo que guste el usuario que interpole ciertos valores en ciertos nodos, y, con ayuda de una minimalista interfaz gráfica proporcionada por el documento HTML y de un gnuplot compilado en JavaScript, lo representa y permite que el usuario evalúe el spline en el punto que desee.
El contenido inicial de este repositorio forma parte de un trabajo elaborado para Métodos Numéricos I. El script aplica la teoría desarrollada en el mismo por [@AntonioCheca] (https://github.com/AntonioCheca), [@DarioSierra] (https://github.com/DarioSierra), [@JesusJMMA] (https://github.com/JesusJMMA) y yo, para obtener cada spline a partir de la resolución de un sistema de ecuaciones (cuyas incógnitas son las derivadas n-ésimas en los nodos, siendo n la clase del spline) por el método de Gauss. La implementación del método de Gauss es recursiva y está pensada solo para que funcione en caso de sistema unisolvente, pero la teoría garantiza que el programa siempre lo usará para resolver un sistema con único grupo de soluciones.
“Compilación”: juntar en una sola carpeta splines.html
, splines.js
y los archivos gnuplot.js
y gnuplot_api.js
de [esta carpeta] (https://github.com/chhu/gnuplot-JS/tree/master/www) del repositorio de [@chhu] (https://github.com/chhu). Podría funcionar con un gnuplot más reciente compilado en JavaScript (en [ese mismo repositorio] (https://github.com/chhu/gnuplot-JS) se explica cómo compilar gnuplot en JS).
Uso: Ejecútese splines.html
con el navegador favorito del usuario. Después, introdúzcanse, separados por espacios en blanco, los nodos y los valores; selecciónese el tipo de spline y rellénese el cuadro con las derivadas, si el tipo de spline así lo exige. Púlsese Generar y se mostrará una gráfica del spline. Después, puede evaluarse el spline en un punto arbitrario (siempre entre el primer y el último nodo) rellenando el cuadro correspondiente.
El script es capaz de generar los siguientes splines: