MAT (.mat)

予備知識

    • MATLAB MATファイル.
    • 行列データ形式.
    • MATHLAB数値計算ソフトウェアのネイティブデータ形式.
    • 数値行列,ブール値,または文字列を保存する.
    • 疎な配列,ネストした構造等も保存する.
    • バイナリ形式.
    • MATのバージョン7.3のファイルはHDF5を使用する.

ImportとExport

  • Import["file.mat"]はMATファイルをインポートし,数,文字列,ブール値を含む多次元配列を返す.
  • Import["file.mat",elem]はMATファイルから指定された要素をインポートする.
  • インポートの形式はImport["file", "MAT"]またはImport["file",{"MAT",elem,}]と指定できる.
  • Export["file.mat",expr]は整数,倍精度数,複素数の配列からMATファイルを作成する.
  • Export["file.mat",{elem1->expr1,elem2->expr2,},"Rules"]は規則を使い,エキスポートされる要素を指定する.
  • 一般的な情報は,以下の関数ページを参照のこと.
  • Import, Exportファイルからインポートする,あるいはファイルへエキスポートする
    CloudImport, CloudExportクラウドオブジェクトからインポートする,あるいはクラウドオブジェクトへエキスポートする
    ImportString, ExportString文字列からインポートする,あるいは文字列へエキスポートする
    ImportByteArray, ExportByteArrayバイト配列からインポートする,あるいはバイト配列へエキスポートする

Import要素

  • 一般的なImport要素:
  • "Elements" ファイル中の有効な要素とオプションのリスト
    "Summary"ファイルの概要
    "Rules"使用可能なすべての要素の規則のリスト
  • データ表現要素:
  • "Data"多次元の配列として与えられる数値またはテキストデータ
    "LabeledData"規則のリストとして与えられるデータ
  • ImportExportはデフォルトで"Data"要素を使う.
  • データ記述子要素:
  • "DataFormat"変数のデータ型
    "Dimensions"配列の次元
  • 数値データは適切な場合はSparseArrayオブジェクトとしてインポートされる.
  • メタ情報要素:
  • "Comments"このファイルに保存されるユーザコメント
    "Labels"文字列のリストとして与えられる変数名
    "Version"ファイルのMAT仕様のバージョン

オプション

  • Importオプション:
  • "IndeterminateValues"Automaticinfinity,NaN等の置換値
  • 別の値の置換規則を指定するためには"IndeterminateValues"を使う.以下の設定がサポートされている:
  • val任意の不定値のための固定値 val
    <|"Nan","Inf","-Inf"|>不定値のタイプに応じた特定の置換規則
  • Exportオプション:
  • CompressionLevelAutomatic使用する圧縮レベル
    OverwriteTargetTrue既存のファイルを上書きするかどうか
    "Version"Automatic使用するファイル形式のバージョン
  • OverwriteTarget->"Append"を使うと,新しいオブジェクトを既存のファイルに加えることができる.
  • エキスポートでサポートされているバージョンは"4""5""7.3"である.
  • デフォルトではエキスポートはバージョン"5"のMATファイルを生成する.バイトより大きい変数についてはバージョン"7.3"のファイルが生成される.

例題

すべて開くすべて閉じる

  (3)

簡単なMATファイルをインポートする:

MATファイルの概要:

数値行列をエキスポートする:

スコープ  (8)

Import  (1)

利用可能なImport要素をリストする:

Export  (7)

数の配列をMATファイルにエキスポートする:

変数名が与えられないと,デフォルトの変数名"Expression1"が使われる:

カスタムの変数名でデータをエキスポートする:

複数の変数をファイルにエキスポートする.変数名は明示的に与えなければならない:

SparseArrayをエキスポートする:

文字列の配列をエキスポートする:

型が異なる可能性のある式の配列をエキスポートする:

キーが一貫した連想の配列を構造化配列にエキスポートする:

Import要素  (8)

"Comments"  (1)

MATファイルからコメントをインポートする.これにはよくMATファイルのバージョンやその他のコメントが含まれている:

"Data"  (1)

ファイル内のすべての変数からデータをインポートする:

"DataFormat"  (1)

ファイル内の各変数のデータ型をインポートする:

"Dimensions"  (1)

ファイル内の各変数の次元をインポートする:

"LabeledData"  (1)

ファイル内のすべての変数について "variable name" -> variable dataというペアのリストをインポートする:

"Labels"  (1)

ファイル内に保存されているものと同じ順序で変数名をインポートする:

"Summary"  (1)

ファイル名,MAT形式のバージョン,変数のカウント,ファイルサイズを含む,ファイルの概要をインポートする:

"Version"  (1)

ファイルが保存されたMATファイル仕様のバージョンをインポートする:

Exportオプション  (14)

CompressionLevel  (3)

大きい数値配列をエキスポートするときは,デフォルトではデータは圧縮される(レベル1に相当する):

圧縮しないでデータをエキスポートする:

MATのバージョン4では圧縮はサポートされていない:

"Header"  (3)

デフォルトでは自動ヘッダが作られる:

ヘッダを指定すると,MATのバージョン番号の後に保存される:

ヘッダは"Comments"要素を使ってインポートできる:

長すぎるヘッダは使えない:

OverwriteTarget  (3)

デフォルトではExportが呼び出されるたびに新しいファイルが作られる:

OverwriteTargetFalseとすると,既存のファイルは上書きされない:

既存のファイルの最後に変数を加えるためには,OverwriteTarget"Append"を使用する:

既存のファイルに加えられた変数は新しい名前を持たなければならない:

"Version"  (5)

デフォルトではExportはMATファイルバージョン5を作成する:

データをMATのバージョン4にエキスポートする:

データをMATバージョン7.3にエキスポートする:

バージョンは数としても文字列として指定できる:

データ型によっては(型が混在する配列等)MATバージョン4にエキスポートできない: