メモ

wiki記事

# 2変量フーリエ

n<-2

nf<-10

rs<-runif(nf)
rs<-sort(rs,decreasing=TRUE)

ps<-runif(nf)*2*pi
#ps<-rep(0,nf)
Niter<-1000
dt<-1
t<-seq(from=0,to=1,length.out=Niter)*2*pi*10

xy<-matrix(0,Niter,n)

for(i in 1:nf){
	#xy[,1]<-xy[,1]+rs[i]*cos((i-1)*t*dt+ps[i])
	#xy[,2]<-xy[,2]+rs[i]*sin((i-1)*t*dt+ps[i])
	xy[,1]<-xy[,1]+rs[i]*cos(1/(i)*t*dt+ps[i])
	xy[,2]<-xy[,2]+rs[i]*sin(1/(i)*t*dt+ps[i])
}
mmm<-max(abs(xy))

fftX.out<-fft(xy[,1])
fftY.out<-fft(xy[,2])

plot(Re(fftX.out)[1:nf])
plot(Re(fftX.out)[1:nf],rs)


plot(xy,xlim=c(-mmm,mmm),ylim=c(-mmm,mmm),type="l")
abline(h=0)
abline(v=0)
abline(h=0)
abline(v=0)