MAT ファイルを読み取るカスタム プログラムの作成
カスタム アプリケーション作成の理由
データを MATLAB® アプリケーションに取り込むには、インポートとエクスポートでサポートされるファイル形式を参照してください。データを MAT ファイルに保存するには、ワークスペース変数の保存と読み込みを参照してください。MATLAB によるアプリケーション全体のプログラミングや他の MATLAB ユーザーとのデータ共有はこの手順に従い実施します。しかし、データ操作を目的としたカスタム プログラムの作成が必要となる場合があります。以下に例を示します。
データにカスタム形式が含まれている。
MATLAB を操作しないユーザー向けにアプリケーションを作成し、MATLAB データを提供する。
外部アプリケーションからデータを読み取りたいが、ソース コードにアクセスできない。
カスタム アプリケーションを作成する前に、以下のトピックを参照して、MATLAB がデータ交換のニーズを満たしているかどうかを調べます。
機能に不足がある場合は、C/C++ または Fortran のカスタム プログラムを作成し、アプリケーションが要求する形式によるデータ ファイルの読み取りおよび書き込みを行うことができます。カスタム プログラムには次の 2 種類があります。
スタンドアロン プログラム — システム プロンプトから実行するか、または MATLAB で実行します (外部コマンド、スクリプト、プログラムの実行を参照)。アプリケーションのビルドには、MATLAB ライブラリが必要です。
MEX ファイル — MATLAB コマンド プロンプトからビルドして実行します。MEX ファイルの作成およびビルドの詳細については、MATLAB (MEX ファイル) から呼び出せる C 関数の記述を参照してください。
MAT ファイル インターフェイス ライブラリ
MAT ファイル API には、MAT ファイルの読み取りおよび書き込み用のルーチンがあります。ユーザー独自の C/C++ または Fortran プログラムからこれらのルーチンを呼び出します。独自コードを作成せずこれらのルーチンを使用して操作を実行します。ライブラリを使用することにより、アプリケーションは以降の MAT ファイル構造への変更に影響されなくなります。詳細については、MAT ファイル API ライブラリとインクルード ファイルを参照してください。
MATLAB では MAT ファイルを表す MATFile
型が提供されています。
MAT ファイルのルーチン
MAT ファイル API 関数 | 目的 |
---|---|
MAT ファイルを開きます。 | |
MAT ファイルを閉じます。 | |
MAT ファイルから MATLAB 配列のリストを取得します。 | |
MAT ファイルから MATLAB 配列を読み取ります。 | |
MAT ファイルに MATLAB 配列を書き込みます。 | |
MAT ファイルから次の MATLAB 配列を読み取ります。 | |
MAT ファイルから MATLAB 配列を削除します。 | |
| |
MAT ファイルから MATLAB 配列ヘッダーを読み込みます (データなし)。 | |
MAT ファイルから次の MATLAB 配列ヘッダーを読み込みます (データなし)。 |
MAT ファイルの C 専用ルーチン
MAT ファイルを指す ANSI® C ファイル ポインターを取得します。 |
MAT ファイル インターフェイス ライブラリでは、ユーザー定義のクラスによって作成された MATLAB オブジェクトはサポートされていません。
さまざまなスレッドで、MAT ファイル API 関数を使用する異なる MATLAB セッションを作成しないでください。MATLAB ライブラリはマルチスレッド セーフにはなっていないため、関数は一度に 1 つのスレッドでのみ使用可能です。
プラットフォーム間のデータ ファイル交換
互いに異なるコンピューター システム上で MATLAB ソフトウェアを操作して、他のシステム上のユーザーに MATLAB アプリケーションを送信できます。MATLAB アプリケーションは、関数とスクリプトを含む MATLAB コードとバイナリ データを含む MAT ファイルから構成されます。
MATLAB ソース ファイルはプラットフォームに依存しないことから、MAT ファイルはファイル ヘッダーにマシン シグネチャを含んでいることから、どちらのタイプのファイルもマシン間で直接転送できます。MATLAB では、ファイルを読み込むときにシグネチャを確認し、そこで外部ファイルであることが示された場合は必要な変換を行います。
異なるマシン アーキテクチャにわたって MATLAB を使用する場合、マシン間でバイナリ データと ASCII データの両方を交換する機能が必要です。このタイプの機能の例として、FTP、NFS、Kermit などがあります。これらのプログラムを使用する際は、MAT ファイルを "バイナリ ファイル モード" で伝送し、MATLAB ソース ファイルを "ASCII ファイル モード" で伝送するよう気を付けてください。モードが正しく設定されていない場合データが破損します。