Mathematica 9 is now available

Documentation / Mathematica / Mathematicaブック / Mathematicaの実践的な紹介 / ファイル操作と外部処理 /

1.11.1 Mathematicaファイルの読込みと書出し操作

式の定義やMathematicaの結果は,コンピュータシステムのファイルに保存することができる.最も一般的なアプローチとしては,Mathematicaの入力として適切なテキスト形式ですべての情報を保存する方法がある.このアプローチを使えば,生成されたファイルは,どのMathematicaのバージョンで使用しても正確に読み込ませることができる.さらに,テキストファイルなので,各種の一般的なプログラム,例えば,テキストエディタでも編集ができるという利点もある.

ファイルの入出力操作

を因数分解し,結果をtmpの名前でファイルに保存する.

In[1]:= Expand[ (x + y)^3 ] >> tmp

保存した内容を確認する.Mathematicaの入力として使えるようになっていることが分かる.

In[2]:= !!tmp

"x^3 + 3*x^2*y + 3*x*y^2 + y^3"

実際にtmpを読み込ませ,式を評価させる.

In[3]:= <<tmp

Out[3]=

UnixMS-DOSオペレーティングシステムに慣れた読者なら,Mathematicaのリダイレクション演算子>>, >>>, <<が,シェルの演算子>, >>, <にそれぞれ対応していることに気が付いたかもしれない.

リダイレクション演算子は,Mathematicaの結果をファイルに保存するときに使うと便利である.また,関数Save["name", f, g, ... ]を使うことで,変数や関数の定義も保存することができる.

変数・関数定義のテキスト形式による保存

関数fを定義しておく.

In[4]:= f[x_] := x^2 + c

cに値17を割り当てておく.

In[5]:= c = 17

Out[5]=

ファイルftmpに関数fの定義を保存する.

In[6]:= Save["ftmp", f]

fの定義が保存されたとき,自動的にcの定義も保存されたことが分かる.

In[7]:= !!ftmp

"f[x_] := x^2 + c



c = 17"

こうして,fcの現行定義を消去しておく.

In[8]:= Clear[f, c]

単にファイルftmpを読み込ませることで,もとの定義を再入力することができる.

In[9]:= <<ftmp

Out[9]=

典型的なMathematicaファイルの指定書式

ノートブック型インターフェースを使っている場合は,ノートブックにある入力,出力,文章,さらにグラフィックスや他の文書要素のすべてを1つのファイルに保存することができる.

ノートブックファイルには,拡張子.nbで終るファイル名を付けるようにする.そうしておけば,他のオペレーティングシステムで動作しているMathematicaにこのファイルをもっていったときも,ノートブックファイルとして即座に認識される.

Mathematicaのフロントエンドでノートブックを開くと,文書の表示は即座に行われるが,評価のためのカーネルへの内容の送出は,通常,ユーザからの要求があるまで行われない.

ただし,フロントエンドの「セル」(Cell)メニューのコマンドを使い,セルを初期化セルに指定しておけば,ノートブックが読み込まれるたびに,セルの内容は自動的に評価される.

2番目のセルは,ブラケットにアルファ ベットのIが付いているが,これは,初期化セルと呼ばれ,ノートブックが開かれるたびに評価されるセルになっている.

場合によっては作成した数式等をノートブックとパッケージの両方のファイル形式で保存しておくと便利である.ノートブックファイルには説明文と一緒に式を入れておけるし,パッケージファイルにはMathematicaが直接理解できる定義だけを分けて保存しておける.このような形態のファイル保存を行うには,すべての式を初期化セルに入れておけばよい.ノートブックが保存されるたびに,もとの定義が.m形式のファイルに自動保存される.



Any questions about topics on this page? Click here to get an individual response.Buy NowMore Information
THIS IS DOCUMENTATION FOR AN OBSOLETE PRODUCT.
SEE THE DOCUMENTATION CENTER FOR THE LATEST INFORMATION.