長方形領域
を横方向に
等分、
縦方向に
等分する。
の近似値
を求めることが目標となることが多い。
例えば Poisson 方程式のDirichlet 境界値問題
を解く場合、
とおく。
連立1次方程式を行列とベクトルで表示するためには、
を1次元的に並べたベクトルを作る必要がある。
例えば
という式が成り立つことが分かる。
が成り立つので、
(7) | ![]() |
Laplacian
には、
2階微分が現れるが、それを2階中心差分近似すると、
は
という差分方程式で置き換えられる。
(8) | ![]() | |
(9) | ![]() | |
(10) | ![]() |
% W, H, Nx, Ny に値が適当に記憶されているとして % 例: W=2; H=1; Nx=8; Ny=4; hx=W/Nx; hy=H/Ny; m=Nx-1; n=Ny-1; ex=ones(m,1); ax=spdiags([-ex 2*ex -ex],-1:1,m,m)/(hx*hx); ey=ones(n,1); ay=spdiags([-ey 2*ey -ey],-1:1,n,n)/(hy*hy); Im=speye(m,m); In=speye(n,n); a=kron(ay,Im)+kron(In,ax); |
なお、
を並べる際に、(6) でなく
(12) | ![]() |
(13) | ![]() |
a=kron(Im,ay)+kron(ax,In); |
桂田 祐史