function
[a_0,a_1,rmq]=num_ajuste_exponencial(x,y)
// [a_0,a_1,rmq]=num_ajuste_exponencial(x,y,w)
// Calcula os coeficientes de ajuste exponencial g(x)=a_0*exp(a_1*x)
// para os pontos (x_i,y_i) e o resíduo do ajuste de mínimos quadrados
// (C) Rudnei Dias da Cunha 2014
m = max(size(x))
if and(y>0.0)
H = [ m sum(x) ; sum(x) sum(x.^2) ]
b = [ sum(log(y)) ; sum(x.*log(y)) ]
a = H\b
a_0 = exp(a(1))
a_1 = a(2)
rmq = sqrt(sum((num_avalia_exponencial(x,a_0,a_1)-y).^2))
else
a_0 = []
a_1 = []
rmq = []
end
endfunction
Nenhum comentário:
Postar um comentário