B..2.1 1次元の場合

$\displaystyle A=\frac{1}{h^2}
\begin{pmatrix}
2 &-1 \\
-1 & 2 & -1 \\
& -...
...\\
& & & & -1& 2
\end{pmatrix} \in\mathbb{R}^{N-1,N-1},\quad
h=\frac{L}{N}
$

は頻出する。

  h=L/N;
  e=ones(N-1,1);
  a=spdiags([-e 2*e -e],-1:1,N-1,N-1)/(h*h);

ずっと以前は、疎行列関係の命令を知らずに次のように作っていた。
  h=L/N;
  e=ones(N-1,1);
  a=(2*eye(N-1,N-1)-diag(e,1)-diag(e,-1))/(h*h);
(この後で、遅ればせながら a=sparse(a); としてメモリを節約するという手はあるかも。)

桂田 祐史
2018-11-02