大学出版部協会

 

制御・数値解析のためのMATX

制御・数値解析のためのMATX

A5判 318ページ 並製
価格:3,850円 (消費税:350円)
ISBN978-4-501-53100-3(4-501-53100-2) C3055
奥付の初版発行年月:2000年02月 / 発売日:2000年02月上旬

内容紹介

 MATX(マットエックス)とは,科学や工学に必要な数値解析・行列計算・数式処理を使い易く統合した,著者の開発によるプログラミング言語である。従来の言語より多くのメリットをもつこのMATXを普及させるために,開発者自身が描いたマニュアルである。LinuxやWindowsを用いて,より高度なプログラミングをしたい人には,本書の内容に詳細なリファレンスガイドとデータフォーマットを加えた『Linux・WindowsでできるMATXによる数値計算』がおすすめ!

前書きなど

 本書は,制御工学や数値解析の計算を行いたい学生,研究者,エンジニアを対象にしたMATX言語の入門書である。
 MATXは科学や工学に必要な数値および数式計算をサポートする記述性に優れたプログラミング言語である。東京工業大学において開発され,主にシステム理論(制御系の解析・設計・シミュレーション)や信号処理の研究に使われてきた。多項式,有理多項式,行列,リストなどの有用な型があり,データの定義や操作を自然な表現で記述できるので,ノートに書いた数学的表現をほとんどそのままプログラムとして記述できる。このためユーザは他のプログラミング言語(Fortran,Pascal,C,Basic)でプログラムを記述するのに比べてずっと短い時間で多くの計算問題を解くことができる。文法のうち制御の流れや関数などのプログラム構造は,C言語とほぼ同じであり,C言語を知っている人はすぐに慣れることができる。行列の演算や成分の操作法は市販の計算ソフトウェアMATLABとほぼ同じであり,MATLABを知っている人はすぐにMATXに慣れることができる。
 当初,『科学技術計算のためのMATX』というタイトルで企画されたが,500ページを越える分量となったため,読者の利用目的を検討し2冊の本として出版することとした。1冊は,制御工学や数値解析の計算をMATXで行いたい読者が入門書として利用できるよう文法と例題を含めた『制御・数値解析のためのMATX』,もう1冊は,LinuxやWindowsで本格的にMATXを用いて数値計算をしたい読者がバイブルとして利用できるよう,文法と例題に加え,すべての関数とコマンドのリファレンス,データフォーマットなどを含めた『Linux・WindowsでできるMATXによる数値計算』である。なお,前者のすべての内容は後者に含まれる。
 初めてMATXを使用される方は,まず第1章でMATXの概要を理解し,第2章を参照しながらパッケージをコンピュータにインストールし,第3章で基本的な使い方を一通り学ぶことをお薦めする。次に,行列に関して知りたい方は第4章から第9章を,プログラミングとその実行方法について知りたい方は第10 章から第15章を読んでいただきたい。プログラミングの説明は初級,中級,上級に別けているが,通常の使用には中級までで十分である。第16章には文字列型,第17章には多項式型と有理多項式型,第18章にはリスト型に関する説明がある。最後の2つの章には,データ解析と信号処理および制御系のシミュレーションの実行例がある。
 本書を通じて,OSのユーティリティ名はサンセリフ体sans serifに,本文中のMATXの関数,文,変数はタイプライタ体typewriterに統一してある。また,プログラム例や構文の紹介では,ユーザが端末から実際にタイプする部分はスランティッド体slantedに,コンピュータが出力した部分はタイプライタ体を用いた。
 MATXに開発および本書の執筆にあたりさまざまな方のお世話になったが,その中でも,日頃から制御理論に関して御指導をいただいている東京工業大学古田勝久教授に感謝する。いち早くMATXを大学の演習に採用して下さり,本書の出版を勧めていただいた東京電機大学畠山省四朗教授に感謝する。日頃から制御理論に関して議論していただいている東京工業大学三平満司助教授に感謝する。多くのバグを指摘して下さり,アドバイスをいただいた東京工業大学山北昌毅助教授,武蔵工業大学野中謙一郎助手に感謝する。MATXの開発および本書の執筆に関して良き相談相手であった清田洋光氏に感謝する。草稿に目を通して誤りを指摘し,アドバイスをいただいた西村修氏,岩代雅文,宮腰清一氏に感謝する。また,東京工業大学古田研究室,三平研究室,山北研究室の人々,および MATXメーリングリストのメンバの貴重なフィードバックに感謝する。最後に本書の発行に際してさまざまな点でお世話になった東京電機大学出版局の植村八潮氏に感謝する。 2000年1月    大岡山にて

古賀雅伸


目次

第1章 MATX入門
1.1 科学技術計算のためのプログラミング言語
1.2 プログラミング言語MATX
1.3 MATXのライブラリ
1.4 プログラム作成手順
1.5 動作環境
1.6 MATXの特徴

第2章 インストール
2.1 入手方法
2.2 Windows 95/98/NT(Visual C )版
2.3 Windows 95/98/NT(DJGPP)版
2.4 UNIX互換OS版
2.5 ベンチマーク

第3章 基本的な使い方
3.1 初めに知っておくべきこと
3.2 スカラ型のデータ
3.3 行列型のデータ
3.4 文字列
3.5 リスト
3.6 数値と表現式
3.7 複素数表現
3.8 型変換について
3.9 関数
3.10 グラフィックス

第4章 行列演算の基本
4.1 行列の和と差
4.2 行列の積
4.3 行列の商(逆行列)
4.4 行列の累乗
4.5 転置行列と複素共役転置行列

第5章 配列演算の基本
5.1 配列型データの演算
5.2 行列の配列演算
5.3 行列型とスカラ型の演算

第6章 行列成分の操作
6.1 成分の参照と代入
6.2 行と列の参照と代入
6.3 部分行列の参照と代入
6.4 成分の削除
6.5 ブロック行列の参照と代入
6.6 行列の成分の代入に関する注意
6.7 式行列の参照
6.8 行列を構成する成分操作

第7章 いろいろな行列
7.1 基本的な記述方法
7.2 行列成分の変換規則
7.3 行ベクトルと列ベクトル
7.4 行列を成分とする行列
7.5 複素行列
7.6 零行列
7.7 単位行列
7.8 1で満たされた行列
7.9 等間隔ベクトル
7.10 対数スケールで等間隔ベクトル
7.11 乱数行列
7.12 対角行列とブロック対角行列
7.13 空行列

第8章 行列関数
8.1 三角分解
8.2 直交分解
8.3 特異値分解
8.4 固有値分解
8.5 ノルム,階数,条件数
8.6 行列指数関数と行列対数関数

第9章 行列エディタ
9.1 行列の入力
9.2 成分中の移動
9.3 行と列の削除と移動
9.4 部分行列の複写
9.5 横長の行列の編集
9.6 複素行列の入力・編集 9.7 成分操作
9.8 ファイル入出力
9.9 行列エディタ(mated)

第10章 初級プログラミング
10.1 制御の流れ
10.2 簡単な関数

第11章 MM-ファイルとその実行
11.1 関数ファイル
11.2 スクリプトファイル
11.3 実行可能MM-スクリプト
11.4 インタプリタによる実行
11.5 インタプリタのオプション
11.6 コンパイラによる実行
11.7 コンパイラのオプション
11.8 MM-ファイルの実行形態の比較
11.9 スタートアップファイル
11.10 クイットファイル

第12章 グラフィックス
12.1 mgplotを使うための設定
12.2 基本的なプロット
12.3 複数の線のプロット
12.4 対数プロット
12.5 1個のウィンドウに複数のグラフ
12.6 (PS|FIGコード)ファイルに保存
12.7 コマンド
12.8 DOSでmgplotを使う
12.9 X-Windowを必要としないグラフ表示

第13章 中級プログラミング
13.1 変数について
13.2 型変換
13.3 可変個の引数をもつ関数
13.4 複数個の値を返す関数
13.5 再帰関数
13.6 エラー停止する
13.7 警告を表示する
13.8 代入式
13.9 メニューを表示する
13.10 画面をクリアする
13.11 ベルを鳴らす
13.12 停止する

第14章 ファイル操作
14.1 MM-ファイルの読み込み(matxのみ)
14.2 データファイルの入出力
14.3 一般ファイルの入出力
14.4 標準入力,標準出力,標準エラー出力
14.5 ファイルの終端の検出
14.6 ファイルのアクセス権を調べる
14.7 ディレクトリを変更する
14.8 ファイル入出力

第15章 上級プログラミング
15.1 関数の引数について
15.2 関数を引数として関数にわたす
15.3 引数の型によって動作を変える関数
15.4 require修飾子付関数宣言
15.5 関数の検索規則
15.6 コマンドライン引数(matcのみ)
15.7 静的変換
15.8 変数の存在を調べる(matxのみ)
15.9 変数の消去(matxのみ)
15.10 現在の日付と時間を調べる
15.11 時間の計測
15.12 環境変数の設定と取得
15.13 バージョン番号の設定と取得
15.14 文字列の評価を用いたデバッグ(matxのみ)
15.15 OSの命令を実行する
15.16 プロセス間通信

第16章 文字列
16.1 文字の参照と代入
16.2 部分文字列の参照と代入
16.3 文字列の比較
16.4 文字の位置を調べる
16.5 文字列の表示と入力
16.6 文字列への変換
16.7 文字列の評価

第17章 多項式と有理多項式
17.1 多項式の入力
17.2 有理多項式の入力
17.3 多項式行列の入力
17.4 有理多項式行列の入力
17.5 式の評価
17.6 微分と積分
17.7 係数のシフト
17.8 多項式と有理多項式の比較
17.9 多項式の根,有理多項式の零点と極

第18章 リスト
18.1 リストの入力
18.2 成分の参照
18.3 成分の代入
18.4 リストの結合
18.5 リストの比較
18.6 成分の型
18.7 多段リスト

第19章 プリプロセッサ
19.1 条件付き処理
19.2 ファイルの読み込み
19.3 マクロ置換

第20章 データ解析と信号処理
20.1 基本的なデータ解析
20.2 基本的な信号処理
20.3 行ごとのデータ解析
20.4 列ごとのデータ解析
20.5 FET
20.6 簡単な外部データの解析

第21章 制御系のシミュレーション
21.1 常微分方程式の解
21.2 連続時間システムのシミュレーション
21.3 ハイブリッドシステムのシミュレーション

参考文献

付録A MatlabユーザのためのMATX入門
A.1 行の継続
A.2 コメント
A.3 転置演算子
A.4 特殊変数と基本的な関数
A.5 論理演算
A.6 制御フロー
A.7 行列の入力
A.8 行列とスカラ
A.9 文字列
A.10 多項式と有理多項式
A.11 ユーザ定義関数
A.12 データの表示と入力/編集
A.13 データの保存と読み込み

付録B 最新情報

付録C ユーザ登録

付録D ライセンス

索  引


一般社団法人 大学出版部協会 Phone 03-3511-2091 〒102-0073 東京都千代田区九段北1丁目14番13号 メゾン萬六403号室
このサイトにはどなたでも自由にリンクできます。掲載さ>れている文章・写真・イラストの著作権は、それぞれの著作者にあります。
当協会 スタッフによるもの、上記以外のものの著作権は一般社団法人大学出版部協会にあります 。