Búsqueda de sitios web

matemáticas - Funciones equivalentes en Javascript a las funciones de Matlab: Polyfit/Polyval?


Necesito desesperadamente un equivalente en Javascript de las funciones polyval y polyfit que existen en Matlab. Esencialmente, esas funciones en Matlab realizan un ajuste de curva basado en dos arrays de igual tamaño dependiendo de un polinomio especificado. Necesito hacer algunos cálculos que involucran ajuste de curvas en Javascript y no puedo, por nada del mundo, encontrar una función equivalente.

Esta es la explicación de MatLab sobre la función polyfit

"P=POLYFIT(X,Y,N) encuentra los coeficientes de un polinomio P(X) de grado N que se ajusta mejor a los datos Y en el sentido de mínimos cuadrados. P es un vector fila de longitud N+1 que contiene los coeficientes del polinomio en potencias descendentes, P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1)."

Esta es la explicación de polyval de MatLab.

"POLYVAL: Evalúa el polinomio. Y=POLYVAL(P,X) devuelve el valor de un polinomio P evaluado en X. P es un vector de longitud N+1 cuyos elementos son los coeficientes del polinomio en potencias descendentes.

    Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)"

Cualquier ayuda sería estupenda.

Saludos,

Respuesta #1

numericjs puede ayudarte a empezar.

Respuesta #2

POLYFIT realiza un ajuste polinómico por mínimos cuadrados que se reduce a resolver un sistema de ecuaciones lineales. Hice una búsqueda rápida, pero no pude encontrar una biblioteca básica de álgebra lineal en Javascript que resuelva tales sistemas... El método más fácil sería implementar el algoritmo de eliminación de Gauss por ti mismo.

POLYVAL simplemente evalúa el polinomio en los puntos X al sustituir los coeficientes en la ecuación.