ナナメ方向

KABIRA2011-01-30

  • 昨日の記事ではタテヨコ方向で移動がある
  • ナナメ方向はどうすればいか
    • 比例定数(k)を1/2倍してナナメ方向に移動させる
  • ムービーは”タテヨコ”の移動による拡散と”ナナメ”による拡散を交互にかきだしたもの
  • ”タテヨコ”と”ナナメ”と同時に移動させる場合は比例定数(k)を小さくする必要がある
Nx<-30
Ny<-30
Nt<-30
U<-tempU<-matrix(0,Nx,Ny)
U[10:20,10:20]<-1
k1<-k2<-0.2
k3<-k4<-0.1

for (t in 1:Nt){
	dUx<-U[2:Nx,]-U[1:(Nx-1),]
	dUy<-U[,2:Ny]-U[,1:(Ny-1)]
	dUxy<-U[2:Nx,2:Ny]-U[1:Nx-1,1:Ny-1]
	dUyx<-U[1:Nx-1,2:Ny]-U[2:Nx,1:Ny-1]
	
#	U[1:(Nx-1),]<-U[1:(Nx-1),]+k1*dUx
#	U[2:Nx,]<-U[2:Nx,]-k1*dUx
#	U[,1:(Ny-1)]<-U[,1:(Ny-1)]+k2*dUy
#	U[,2:Ny]<-U[,2:Ny]-k2*dUy
	
	U[1:Nx-1,1:Ny-1]<-U[1:Nx-1,1:Ny-1]+k3*dUxy
	U[2:Nx,2:Ny]<-U[2:Nx,2:Ny]-k3*dUxy
	U[1:Nx-1,2:Ny]<-U[1:Nx-1,2:Ny]-k4*dUyx
	U[2:Nx,1:Ny-1]<-U[2:Nx,1:Ny-1]+k4*dUyx
	
	persp(U,col=6,theta=30,phi=30,zlim=c(0,1))
	image(U,col=topo.colors(100))
}