MATLAB プログラムでも、 C や Fortran と同様に成分を直接指定することが出来る。
n = 2 * m;
a = zeros(n,n);
% 前半の m 行
d = 4 * c1; od = - c1;
a(1,1) = d; a(1,2) = od;
for i=2:m-1
a(i,i-1) = od; a(i,i) = d; a(i,i+1) = od;
end
a(m,m-1) = od; a(m,m) = d;
% 後半の m 行
d = 4 * c2; od = - c2;
a(m+1,m+1) = d; a(m+1,m+2) = od;
for i=m+2:n-1
a(i,i-1) = od; a(i,i) = d; a(i,i+1) = od;
end
a(n,n-1) = od; a(n,n) = d;
普通は、 MATLAB のようなインタープリターで、 このように for 等の繰り返し命令を使うと 効率上の問題が発生すると言われているが、 この場合は案外と効率がよい。 ループが一重のものだけだからであろう。
2017-06-19