% Get Data t = [1 3 5 7 9]'; y = [0.076 0.258 0.369 0.492 0.559]'; % Function to Fit phi='GNexpfunc'; % Initial Guess for beta beta_0 = ones(2,1); % First run the optimzation routine [beta,res,J,Cov_beta,mse] = nlinfit(t,y,phi,beta_0); SE=sqrt(diag(Cov_beta)); %y_beta = feval(phi,beta,tvec); dt=mean(diff(t)); tvals=linspace((t(1)-dt),(t(end)+dt),1000); [y_beta delta]=nlpredci(phi,tvals,beta,res,'jacobian',J); ci = nlparci(beta,res,'jacobian',J); figure(1) clf plot(t,y,'r*',tvals,y_beta) hold on title('Data and non-linear least squares fit') plot(tvals,y_beta+delta','g') plot(tvals,y_beta-delta','g') legend('data','model','95% prediction interval','location','best') fprintf('\nEstimates:\n') fprintf('\tbeta_0=%f\t\tSE=%f\t\t95percent CI: [%f,%f]\n',beta(1),SE(1),ci(1,1),ci(1,2)) fprintf('\tbeta_1=%f\t\tSE=%f\t\t95percent CI: [%f,%f]\n',beta(2),SE(2),ci(2,1),ci(2,2)) fprintf('Non-linear fit is %f - exp(-%f*t)\n\n',beta(1),beta(2)) beta