Mathematicaでデータを読み込み・書き込みする方法
例えばCで計算した行列があって、それの固有値や特異値分解を計算させたいとき、Mathematicaを使いたい!という人向け。
読み込ませたいデータ、data.txtがMy documentsのmathematicaというフォルダの中にあるとしましょう。
C:\Documents and Settings\owner\My Documents\mathematica\data.txt という状況です。
data.txtの中身は、数値データが空白区切りになっているとします。Mathematicaに読み込ませるデータは、カンマ区切りだとクソめんどいので、ファイルがカンマ区切りになっている場合は適当なエディタの置換機能を使ってカンマを空白にしてください。(カンマ区切りのデータを読み込む場合はこの記事の一番下を参照してください)
ではこれをMathematicaに読み込ませましょう。
これでDataにdata.txtが読み込まれました。これ以降は行列計算などにこのDataを使うことができます。
リストのサイズを返す関数Dimensionsを使っても、3×10のサイズのデータが格納されていることが分かりますね。
※Windowsの場合、Mathematicaはデフォルトではmy documentsがカレントディレクトリになっています。Directory[]を実行すると確認することができます。
ここからの相対パスをImport関数の引数として入力してください。
ではこのDataを今度はtxtに書き込みましょう。
これでdata2.txtに、さっきと同じデータが保存されました(この場合は各データは空白区切りではなくタブ区切りになっています)。ね、簡単でしょう?
※20101222追記
モリヤン様からカンマ区切りの場合の方法を教えていただきました。
Import["mathematica/data.txt", "CSV"];
とすることでカンマ区切りのデータを、上に示したものとおなじように読み込むことができます。