aa<-read.table("calorimeter.data",header=T) xx.start<-c(tzero=120,base1=30,base2=-50,amp=30000,kinit=.2,kdecay=.01) aa.out<-nls(voltage ~ (time < tzero)*(base1 - base2) + base2 + amp*(exp(-kinit*(time>=tzero)*(time-tzero)) - exp(-kdecay*(time>=tzero)*(time-tzero))), aa,start=xx.start,trace=TRUE) #sink("scr.txt") print(summary(aa.out)) #sink() #postscript("scr.ps") plot(aa$time,aa$voltage,xlab="time (seconds)",ylab="Voltage (nanovolts)",type="l") title("Calorimeter Data") lines(aa$time,fitted.values(aa.out),lty=2) lines(10*(residuals(aa.out))-20000,lty=5) text(600,-19000,"residuals x 10") #graphics.off()