matematika - Javascript ekvivalentne funkcije za Matlab funkcije: Polyfit/Polyval?
Očajno mi treba ekvivalent Javascript funkcija za polyval i polyfit koje postoje u Matlabu. U osnovi, te funkcije u Matlabu rade prilagodbu krivulje na temelju dva niza iste veličine, ovisno o specificiranom polinomu. Trebam obaviti neke izračune koji uključuju prilagodbu krivulje u Javascriptu i ne mogu nigdje pronaći ekvivalentnu funkciju.
Ovo je MatLabovo objašnjenje funkcije polyfit
„P=POLYFIT(X,Y,N) pronalazi koeficijente polinoma P(X) stupnja N koji najbolje prilagođava podatke Y u smislu najmanjih kvadrata. P je redni vektor duljine N+1 koji sadrži koeficijente polinoma u silaznim potencijama, P(1)*X^N + P(2)*X^(N-1) +...+ P(N)*X + P(N+1).”
Ovo je MatLabovo objašnjenje funkcije polyval.
"POLYVAL Procjena polinoma. Y=POLYVAL(P,X) vraća vrijednost polinoma P izračunatu za X. P je vektor duljine N+1 čiji su elementi koeficijenti polinoma u opadajućim potencijama.
Y = P(1)*X^N + P(2)*X^(N-1) + ... + P(N)*X + P(N+1)"
Bilo kakva pomoć bi bila super.
Pozdrav,
Odgovor #1
numericjs vam može pomoći da započnete.
Odgovor #2
POLYFIT izvodi polinomsko uklapanje metodom najmanjih kvadrata, što se svodi na rješavanje sustava linearnih jednadžbi. Brzo sam pretražio, ali nisam mogao pronaći osnovnu Javaskript biblioteku za linearnu algebru koja rješava takve sustave... Najlakša metoda bila bi da sami implementirate algoritam Gaussove eliminacije.
POLYVAL jednostavno evaluira polinom u točkama X tako da u jednadžbu zamijeni koeficijente.