next up previous contents index
Next: プログラミング言語 MATX Up: 無題 Previous: 図目次

はじめに

MATXは科学や工学に必要な数値及び数式計算をサポートする 記述性に優れたプログラミング言語である[9,10]。    MATXは数値解析,行列計算,数式処理を使い易い形に統合化しているので, ノ−トに書いた数学的表現をほとんどそのままプログラムとして記述できる。 このためユーザは他の計算機言語(Fortran,Pascal,C,Basic)でプログラムを 記述するのに比べてずっと短い時間で多くの計算問題を解くことができる。 インタラクティビティと(FortranやC言語の最適化されたライブラリの) パフォーマンスを結合したいユーザは,MATXの柔軟性と便利さを非常に重要な ものと考えるでしょう。

システム理論や信号処理の研究において,多項式や有理式 そしてそれらを成分としてもつ多項式行列や有理多項式行列などの 数式表現は,重要な役割を果たす。 MATXを使えば,これらのデータの定義や操作を自然な表現で 記述することができる。 これにより,システム理論に必須である数値行列のさまざまな演算や, 多項式,有理多項式,などの数式の処理を理論中の表記とほとんど同じ形式で 記述でき,制御系の解析・設計だけでなく,システム理論の新しい設計 アルゴリズムの開発や検証などの支援にも役立つ。

システム理論,プロセス同定,制御系設計などの研究には, 対話型処理が有効な場合と一括型処理が威力を発揮する場合がある。 対話型処理系は,解析や設計のためにコマンドライン上でいろいろなコマンドを 組み合わせて使うためだけでなく,プログラムを作成する場合,開発時間を大幅に 節約するのに役立つ。 一方,一括型処理系はプログラムが完成した後で,計算時間を短縮するのに役立つ。 特に,シミュレーションのように計算量の多い処理は, 一括型処理によって飛躍的に計算速度を向上させることができる。 MATXは,対話型処理を行なうインタプリタ(matx) とコンパイラ(matc)を提供する。

行列の大きさが大きくなればなるほど,行列の入力・編集作業は難しくなる。 入力中にちょっとした間違いを犯しても,もう一度最初からやり 直さなければならないのは大変な苦痛である。 行列エディタ(Matrix Editor)を使えば, そういった面倒な作業から解放される。   行列エディタは,ウィンドウシステムやグラフィック端末上ではもちろん, curses がサポートする文字端末,エスケープ シーケンスをサポートする文字端末で使用可能である。 零行列や単位行列等の行列を簡単に入力することができ,実行列から複素行列への 変換や行列の転置を簡単に行える。

MATXで生成したデータをグラフィック表示するには, gnuplotやグラフィック描画・編集環境xplotを使う[19]。 MATXの環境から直接gnuplotxplotを呼び出すことができ, 1次元プロット,2次元プロット,片対数プロットなどを簡単に表示できる。    


 

Masanobu KOGA 平成10年8月19日