1. はじめに¶
本書は、MATLABをTSUBAME4.0 で利用する方法について説明しています。
また、TSUBAME4.0 を利用するにあたっては、TSUBAME4.0利用の手引きもご覧下さい。
利用環境や注意事項などが詳細に記述されております。
MATLABの開発元ではMATLABに関するWebページを公開しています。
次のアドレスを参照してください。
Info
MATLABはCampus-Wideライセンスに基づき運用されているため、東京科学大の全学生および教職員が学内で利用可能です。
TSUBAME以外での利用方法なども記載されていますので、MATLABを利用される方は最初に
MATLABのCampus-Wideライセンスの利用をご一読ください。
商用アプリケーションの学内利用に際し、ライセンスの利用制限を設けております。ライセンスを占有しないようご協力ください。
ライセンスの占有・長時間利用を確認した場合、予告なくライセンス利用を停止することがあります。
詳細についてはライセンスの制限内のライセンス数の制限についてをご参照ください。
1.1. 利用できるバージョン¶
TSUBAME4.0で利用可能な最新バージョンについてはTSUBAME計算サービスWebサイトの サポートされているアプリケーション ページをご確認下さい。
研究に支障がない限り、バグ修正の入っている最新版をご利用下さい。
1.2. 概要¶
MATLABは、テクニカルコンピューティングのための高性能ランゲージです。
MATLABは、問題やそれに対する解を、よく知られた数学の記法で表現し、 計算、可視化、プログラミングなどを利用しやすい環境で統合しています。
典型的な利用形態としては、次のようなものがあります。
- 数学と計算
- アルゴリズムの開発
- データの収集
- モデリング、シミュレーション、プロトタイピング
- データ解析、データ補間、データ可視化
- 科学、工学でのグラフィックス
- グラフィカルユーザインタフェース構築などのアプリケーションの開発
MATLABは、対話型システムで、その基本的な要素に次元を必要としない配列を持っています。
これにより、CやFortranなどのスカラ的な非対話型言語でプログラムを書く時間をかけることなく、 多くの技術計算の問題、特に行列とベクトルの形式を用いた問題を解くことが可能になります。
MATLABという名前は、matrix laboratoryを意味しています。
MATLABは、当初LINPACK、EISPACKプロジェクトによって開発された行列ソフトウェアへの アクセスを容易にするという目的で書かれました。
現在、MATLABは、LAPACK、ARPACKプロジェクトによって開発されたソフトウェアを使用しています。
LAPACK、ARPACKは、ともに、行列計算のためのソフトウェアにおける最先端技術を代表するものです。
MATLABは、多くのユーザによる使用で、長年にわたり発展してきました。
大学では、数学、工学、科学分野で、入門コース、上級コースのための標準的な教育用ツールとなっています。
工業的には、MATLABは、高生産性の研究、開発、解析に対しての優れたツールです。
MATLABの特色は、特定分野の解決策としての ツールボックス群があることです。
多くのMATLABユーザにとって非常に重要なこととして、ツールボックスを使うと、 ユーザは特定のテクノロジーについて、学び、 適用 することができるということが挙げられます。
ツールボックスは、MATLAB関数(M-ファイル)を広く集めたもので、 特定分野の問題を解くのにMATLAB環境を拡張したものです。
ツールボックスが利用できる信号処理、制御システム、 ニューラルネットワーク、ファジィロジック、ウェーブレット、シミュレーション、 その他多くの分野があります。
1.3. MATLABシステム¶
MATLABシステムは、次の5つの主要部分から成ります。
1.3.1. デスクトップツールと開発環境¶
これは、ユーザがMATLAB関数やファイルを使うためのツールや機能の集まりです。
これらのツールの多くは、グラフィカルユーザインタフェースです。 グラフィカルユーザインタフェースには、MATLABデスクトップとコマンドウィンドウ、コマンド履歴、 さらに、ヘルプ、ワークスペース、ファイル、サーチパスなどをみるためのブラウザがあります。
1.3.2. MATLAB 数学関数ライブラリ¶
合計、正弦、余弦、複素計算などの基本的な関数から、 逆行列、行列の固有値、ベッセル関数、高速フーリエ変換などの 高度な関数まで幅広い計算アルゴリズムを含みます。
1.3.3. MATLAB言語¶
MATLAB言語は、フローコントロールステートメント、関数、データ構造、入力/出力、 オブジェクト指向プログラミングの特色などをもつ、行列/配列を基にした高水準言語です。
このため、手軽に動かせるその場限りのプログラムを作成する小規模プログラミングも、 大きく複雑で、まとまったアプリケーションプログラムを作成する 大規模プログラミングにも対応しています。
1.3.4. Graphics¶
MATLABは、ベクトルや行列をグラフで表示するための様々な機能を持っています。
2次元、3次元データの可視化イメージプロセッシング、アニメーション、 プレゼンテーショングラフィックスなどのための高水準コマンドを含みます。
さらに、MATLABのグラフィックスでは、低水準コマンドを使用することもでき、 ユーザのMATLABアプリケーションについての完全なグラフィカルユーザインタフェースを構築するのと同様に、 グラフィックスの外観をカスタマイズすることができます。
1.3.5. MATLAB External Interfaces/API¶
このMATLABアプリケーションプログラムインタフェース(API)は、 MATLAB対話型でCやFortranプログラムを書くためのライブラリです。
これは、MATLABからのルーチンを呼び出す機能(ダイナミックリンク)、 計算エンジンとしてMATLABを呼び出す機能、MATファイルを読み込んだり 書き込んだりするための機能などを含みます。