%
% Se usa un modelo exponencial de la forma y=a*exp(bx)
% para aproximar los datos. Primero se calcula la mejor
% recta que aproxima a los datos (TIME(i),LOG(CELLS(i))),
% i=1,...,n.
%
n=length(time);
coef=polyfit(time,log(cells),1);
a=exp(coef(2));
b=coef(1);
%
% Se calculan las diferencias o residuos entre el modelo
% exponencial y los datos originales y el residuo cuadrado
% medio (RMSE).
%
errors=cells-a*exp(b*time);
RMSE=sqrt(sum(errors.^2)/n);
%
% Se evalua el modelo exponencial en 100 puntos del intervalo
% que contiene los datos TIME. Esto es solo con el proposito
% hacer una grafica del modelo.
%
tint=linspace(min(time),max(time),100);
y=a*exp(b*tint);
%
% Traza la grafica de los datos y el modelo exponencial.
%
figure(1)
clf
plot(time,cells,'.')
hold on
plot(tint,y)
title(['Regresion Nolineal con un Modelo Exponencial: RMSE=' num2str(RMSE)])
legend('Datos','Modelo Exponencial')
%
% Traza una grafica de las diferencias i residuos.
%
figure(2)
clf
plot(time,errors,'.')
title('Grafica de Diferencias o Residuos - Modelo Exponencial')