Esta página permite ajustar qualquer função até oito parâmetros a um conjunto de dados. Basta especificar a função, os dados (pontos), estimativas iniciais para os parãmetros. Ao pressionar o botão Iterar o programa JavaScript vai refinar essas estimativas para produzir o que será um melhor conjunto de parâmetros. Este processo é iterativo, e com boas estimativas iniciais (e boa sorte) converge para a solução dos mínimos quadráticos em cinco ou dez iterações. Este programa pode também ajustar curvas ao Valor-Mínimo-absoluto e curvas de Percentil (tendo especificado a fracção de pontos abaixo da curva).
Método:
A função a ajustar é desenvolvida em série de Taylor em torno das estimativas correntes dos parâmetros, sendo retidos os termos de primeira ordem (lineares) e o sistema de equações resultante é resolvido para o incremento nos parâmetros. O programa calcula aproximações de diferenças finitas para as derivadas parciais, e usa o algoritmo de eliminação para inverter e resolver o sistema. Obtêm-se estimativas por limite central do desvio padrão nos parâmetros a partir dos termos diagonais da matriz inversa da equação normal.
Os campos a seguir estão preenchidos com um exemplo: A temperatura de um copo de água quando arrefece a partir do ponto de ebulição normal até á temperatura ambiente durante uma hora. Utiliza-se
Temp = ( T0 - Tambiente ) * Exp( - k * Tempo ) + Tambiente
Operadores: + - * / e parentesis (notar que
não se utiliza ^ para potências; usar a função Power function,
que é descrita a seguir)
Constantes: Pi [=3.14...], Grau [=180/Pi = 57.2...]
Expressões
condicionais: (Condition) ? ValueIfTrue :
ValueIfFalse
Funcões Built in... [Salvo indicação em contrário, todas as funções possuem um
único argumento entre parentesis a seguir ao nome da função.]
Algebricas: Abs, Sqrt, Power(x,y)
[= x levantado a y)], Fact [factorial], Min(x,y) [= o mínimo de x ou de y], Max(x,y) [= máximo de x ou de
y]
Transcendentais: Exp, Ln [natural], Log10,
Log2
Trigonometricas: Sin, Cos, Tan, Cot, Sec,
Csc
Trig. Inversas: ASin, ACos, ATan, ACot, ASec,
ACsc
Hiperbolicas: SinH, CosH, TanH, CotH, SecH,
CscH
Hip inversas: ASinH, ACosH, ATanH, ACotH, ASecH,
ACscH
Estatísticas: Norm, ChiSq(csq,df), StudT(t,df),
FishF(F,df1,df2), Gauss, Erf
Esta. Inversas: ANorm, AChiSq(p,df), AStudT(p,df),
AFishF(p,df1,df2)
Nota: A linguagem JavaScript é case-sensitive, por isso deve assegurar-se que entra os nomes das funções exactamente como acima referido.
Nota: Os argumentos das funções trig são radianos. Para graus, multiplicar ou dividir pela variável Deg. Por examplo: Sin(30/Deg) devolve 0.5, e ATan(1)*Deg devolve 45.
Nota: A função factorial está implementada para todos os númros reais. Para não inteiros a sua precisão é de seis algarismos significativos. Para inteiros negativos devolve um númro muito elevado ou um erro de divisão-por-zero (division-by-zero error).