n<-4
t<-seq(from=0,to=1,length.out=1000)*2*pi*3
nt<-10000
dt<-0.001
p1<-3
p2<-2
a1<-1
a2<-0.4
delta<-runif(1)
delta<-1
k<-1
x<-matrix(0,nt,n)
X<-x
X[,1]<-a1*cos(p1*t)*(a2*cos(p2*(t+delta))+k)
X[,2]<-a1*sin(p1*t)*(a2*cos(p2*(t+delta))+k)
X[,3]<-a2*cos(p2*(t+delta))
X[,4]<-a2*sin(p2*(t+delta))
x<-matrix(0,nt,n)
x[1,]<-X[1,]
for(i in 2:nt){
v<-rep(0,n)
v[1]<--p1*x[i-1,2]-p2*x[i-1,1]*(x[i-1,4])/sqrt(x[i-1,1]^2+x[i-1,2]^2)
v[2]<-p1*x[i-1,1]-p2*x[i-1,2]*(x[i-1,4])/sqrt(x[i-1,1]^2+x[i-1,2]^2)
v[3]<--p2*x[i-1,4]
v[4]<-p2*x[i-1,3]
v<-v*dt
x[i,]<-x[i-1,]+v
}
plot3d(x[,1],x[,2],x[,4])
plot(as.data.frame(x))
plot3d(X[,1],X[,2],X[,4])
plot3d(x[,1],x[,2],x[,4])
plot(as.data.frame(x))
matplot(x,type="l")
Nrep<-10
xssum<-NULL
col<-c()
for(rep in 1:Nrep){
n<-4
t<-seq(from=0,to=1,length.out=1000)*2*pi*3
nt<-1000
dt<-0.01
p1<-3
p2<-2
p2<-runif(1)*5
a1<-1
a2<-0.4
delta<-runif(1)
delta<-1
k<-1
x<-matrix(0,nt,n)
X<-x
X[,1]<-a1*cos(p1*t)*(a2*cos(p2*(t+delta))+k)
X[,2]<-a1*sin(p1*t)*(a2*cos(p2*(t+delta))+k)
X[,3]<-a2*cos(p2*(t+delta))
X[,4]<-a2*sin(p2*(t+delta))
x<-matrix(0,nt,n)
x[1,]<-X[1,]
for(i in 2:nt){
v<-rep(0,n)
v[1]<--p1*x[i-1,2]-p2*x[i-1,1]*(x[i-1,4])/sqrt(x[i-1,1]^2+x[i-1,2]^2)
v[2]<-p1*x[i-1,1]-p2*x[i-1,2]*(x[i-1,4])/sqrt(x[i-1,1]^2+x[i-1,2]^2)
v[3]<--p2*x[i-1,4]
v[4]<-p2*x[i-1,3]
v<-v*dt
x[i,]<-x[i-1,]+v
}
plot3d(x[,1],x[,2],x[,4])
plot(as.data.frame(x))
plot3d(X[,1],X[,2],X[,4])
plot3d(x[,1],x[,2],x[,4])
plot(as.data.frame(x))
matplot(x,type="l")
xssum<-rbind(xssum,x)
col<-c(col,rep(rep,nt))
}
plot3d(xssum[,1],xssum[,2],xssum[,4],col=col)