3dの拡散

KABIRA2011-02-02

  • 修正したのはこちら
  • 昨日の続き
    • 3dで拡散させて、値の大きさを色で表す
  • こちらにZ軸を付け加える
    • ただし以下の書き方はナナメ方向には移動していない
  • ドーナツはこの日のセミナー
library(rgl)
Nx<-30
Ny<-30
Nz<-30

Nt<-30
R<-10
U<-array(0,c(Nx,Ny,Nz))
A<-array(0,c(Nx,Ny,Nz))
K1<-array(0.1,c(Nx-1,Ny,Nz))
K2<-array(0.1,c(Nx,Ny-1,Nz))
K3<-array(0.1,c(Nx,Ny,Nz-1))

#球を作る
for(x in 1:Nx){
for(y in 1:Nx){
for(z in 1:Nz){
	if((x-Nx/2)^2+(y-Ny/2)^2+(z-Nz/2)^2 <= R^2){A[x,y,z]<-1} 
}}}

#初期分布
U[1:ceiling(Nx/2),1:ceiling(Ny/2),1:ceiling(Nz/2)]<-1

U<-U*A
K1<-K1*A[-Nx,,]*A[-1,,]
K2<-K2*A[,-Ny,]*A[,-1,]
K3<-K3*A[,,-Nz]*A[,,-1]

#拡散
for (t in 1:Nt){
dUx<-U[2:Nx,,]-U[1:(Nx-1),,]
dUy<-U[,2:Ny,]-U[,1:(Ny-1),]
dUz<-U[,,2:Nz]-U[,,1:(Nz-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:(Nz-1)]<-U[,,1:(Nz-1)]+K3*dUz
U[,,2:Nz]<-U[,,2:Nz]-K3*dUz

plot3d(slice.index(U,1),slice.index(U,2),slice.index(U,3),col=rainbow(1000)[ifelse(U < 0.001, 1,U*1000)],alpha=ifelse(U < 0.001,0,1))
rgl.viewpoint(theta=300,phi=30)
}

第三回 基礎・臨床融合の学内共同研究発表会

  • 日時、会場
    • 平成23年2月2日(水) 16時〜18時
    • 滋賀医科大学 大会議室
  • テーマ
  • 司会 堀江稔先生

野間先生

  • 立命館大学 生命科学部教授
  • 膵臓β細胞機能のモデル化
  • 細胞モデル
    • 分子レベルの biophysical な実験から得られた "連立微分方程式" で表される
      • Dynamics
        • 時間微分:\frac{\partial u}{\partial t} を計算
        • Lead poential model
      • Mode Change
        • 解析解
        • 平衡点解析
        • Bifurcation analysis
  • シミュレーションすること
    • "再現できる" だけではない
    • システムの中での個々の挙動を推測することができる
      • 例としては発火の自動能(ペースメーカー)の第4相での各電流の contribution
  • 展望
  • mathematical physiology in biosimuation
    • 数学的な定義を用いることによって数学的に解析する、数学的な logic の展開ができる
      • (医学には言葉による定義が多いとも言われていた)