library(fda) library(KernSmooth) #1 matplot(pinchtime, pinchraw, type="l", lty=1,lwd=1,col=rainbow(20)) abline(h=2,lty=2) #2 range(pinchtime) grids=301 #damit Gitter "by 0.001" fitt=matrix(0,grids,20) for (i in 1:20) { lp<-locpoly(pinchtime,pinchraw[,i],bandwidth=dpill(pinchtime,pinchraw[,i]),gridsize=grids) fitt[,i]<-lp$y } x<-lp$x matplot(x,fitt,type="l",lty=1,lwd=1,col=1) abline(h=2,lty=2) #3 maxi<-rep(0,20) index<-rep(0,20) zeit<-rep(0,20) for (i in 1:20){ maxi[i]=max(fitt[,i]) index[i]=which.max(fitt[,i]) zeit[i]=x[index[i]]} maxi index zeit tbar=mean(zeit) tbar abline(v=tbar,col=2,lwd=2) xb<-which.max(x[x<=tbar]) # xb x[xb] #4 #zeit verschieben: zeit-tbar->diffz plot(c(-max(diffz),max(x)-min(diffz)),range(fitt),type="n",xlab="Zeit",ylab="Pinchglatt") for (i in 1:20) lines(x-diffz[i],fitt[,i],col=rainbow(20)[i]) abline(h=2,v=tbar,col=c(1,3),lwd=1,lty=2) # sonst ("kurven verschieben") index-rep(xb,20)->diff a<-min(diff) b<-max(diff) zeittot<-seq(-b/1000,max(x)+abs(a)/1000,by=0.001) # 1/1000. Sonst: (max(x)-min(x))/(length(x)-1)->schr nind<--diff+b tglatt<-matrix(NA,length(zeittot),20) for (i in 1:20){ tglatt[(1+nind[i]):(301+nind[i]),i]<-fitt[,i] } matplot(zeittot,tglatt,type="l",lty=1,col=rainbow(20),lwd=1) abline(v=tbar,lty=2,h=2,col=c(1,3))