#Parámetros genéricos N=500 t=(1:N)/N #Modelos de crecimiento a=10 b=0.1 c=3 d=0.3 y=a/(1+exp(-(b+c*t)))^d plot(t,y,col="blue",type="l") #Función armónica w=20 fase=runif(1,-pi,pi) f1=cos(w*t+fase) fase=runif(1,-pi,pi) f2=cos(w*t+fase) fase=runif(1,-pi,pi) f3=cos(w*t+fase) s=0.2 e=rnorm(N,0,s) y=f+e plot(t,f1,type="l",col="blue",ylim=c(-1.5,1.5)) lines(t,f2,col="red") lines(t,f3,col="green") points(t,y,col="red") #Superposición de armónicos A=c(5,1,10) w=c(20,100,10) sf=0 f=NULL for(i in 1:3) { fase=runif(1,-pi,pi) g=A[i]*cos(w[i]*t+fase) f=c(f,g) sf=sf+g } dim(f)=c(N,3) ysf=sf+rnorm(N,0,0.9) plot(t,sf,type="n") lines(t,ysf,col="red") lines(t,f[,1],col="green") lines(t,f[,2],col="blue") lines(t,f[,3],col="red") #Señal de Doppler doppler=function(t,e) sqrt(t*(1-t))*sin(2*pi*(1+e)/(t+e)) a=0.05 f=doppler(t,a) s=0.25 e=rnorm(N,1,s) y=f*e plot(t,f,type="l",col="blue") lines(t,y,col="red") #Modelo para una señal a=10 b=1 c=0.08 d=0.5 n=300 t=seq(1:n)/n f=a*(t-t^2)*sin(b/(d*t^2+t+c)) s=0.2 e=rnorm(n,0,s) y=f+e fa=nls(y ~ a*(t-t^2)*sin(b/(t+c)),start=list(a=5,b=0.5,c=0.01)) summary(fa) ff=predict(fa) plot(t,f,col="blue",type="l",ylim=c(-2,3)) points(t,y,col="green") lines(t,ff,col="red") db=data.frame(t,f,y) write.table(db,"c://datos//simu1.txt",row.names=F,col.names=F)