9 MATLAB

少しメモ

linspace(a,b,n) は区間 $ [a,b]$$ n-1$ 等分した時の 分点をまとめた横ベクトル ($ 1$$ n$列の行列) を返す。 $ N$ 等分したければ linspace(a,b,$ N$+1)+1 が必要である。

figure(fig) とすることで、 図を表示状態にして、(他に存在する) すべての図の前に出すことが出来る。 こうしないと、何かの背後に隠れた状態のままプログラムの実行が続いたりする。

pause は引数なしで呼ぶとキーボードから入力があるまで待つ。 pause(数) とすると、指定された秒待ってくれる。 かなり安直なやり方でアニメーションを実現した。 -- 今の MATLAB は色々便利な仕掛けがあるようだけれど…

陰解法は他のプログラミング言語のプログラム例では、 LU分解するコードを書いたけれど、 ここはすごく安直に A\b で 連立1次方程式を解いて見た (プログラムを書いた日の気分)。


以下の2つのプログラムは、スクリプト・プログラムというのか、 関数プログラムではない。

MATLAB は R2016 以降は、 スクリプト・プログラムの中にローカルな関数定義が出来るようになっていて、 その機能を使うかどうか少し迷ったけれど、やめにした。 MATLAB も結構古狸で、 その長い歴史 (生涯?) の中でつい最近利用可能になった機能を使った サンプル・プログラムを見せるのは混乱をしょうじかねない、 と考えたからである。

MATLAB は配列のインデックス (添字) が 1 から始まるの限定とか、 「今さら FORTRAN 66 かよ」 と嫌味を言いたくなるような古めかしいところがあって (使っている人は気にならないのかなあ…)、 イマイチすっきりしないよね。



Subsections

桂田 祐史