MathematicaとWolfram言語
Mathmaticaは1988年にリリースされた、 科学や数学、コンピューティングや工学で使われる 計算プログラムツールです。 ラズベリーパイ上でフリーで使用でき、2013年末から RaspbianとNOOBSにバンドルされた、 プロプライエタリなソフトウェアです。 ラズベリーパイブログ上のアナウンスを参照してください。 The Wolfram Language and Mathematica on Raspberry Pi, for free
2013年末以降にSDカードをアップデートしている場合、 MathematicaとWolframがプリインストールされており、 Raspbianのデスクトップにアイコンがあります。
Mathematica
Mathematicaをデスクトップかアプリケーションメニューから開いてください。
プログラムのロード中、Mathematicaの赤いロゴがスプラッシュスクリーンに表示されます。
ロードが完了すると、2つのウインドウが表示されます。
Wolframのインフォメーションダイアログと、
Mathematicaのノートブックです。
Wolframのインフォメーションダイアログは下記Webページへのリンクを表示します。
インターネットに接続していれば、これらのリンクはラズベリーパイ上のWebブラウザで表示できます。
Mathematicaでのプログラミング
ノートブックウインドウをクリックし、下記を入力してください。
Print["Hello world"]
それから、Shift + Enter
を押すと、コマンドが実行され「Hello world」とスクリーンに表示されます。
次のような数学の計算を行うことができます。
In[2]:= 2 + 2
Out[2]= 4
In[3]:= 16254 / 32
Out[3]= 8127 / 16
In[4]:= 1024 * 32
Out[4]= 32768
ノートブックの編集
前に入力したコマンドをクリックするか、
編集カーソルをキーボードで動かすことで、
そのコマンドを削除や編集、何か追加したりすることができ、
Shift + Enter
を押すと
そこにある新しいコマンドを実行することができます。
ノートブックを保存すれば、後から開いたり、友達に送ったり、
ネット上に投稿したり、宿題として提出することもできます。
ノートブックウインドウでFile > Save As
をクリックすると保存できます。
保存されたノートブックを開くと、
全ての入出力を含む過去の全ての履歴が表示されます。
そしてそれぞれのセルはShift + Enter
で実行でき、
メニューからEvaluation > Evaluate Notebook
を選択すると一度に全てのセルを実行できます。
変数
計算結果を変数に保存することができます。
radius = 5;
diameter = 2 * radius;
circumference = 2 * Pi * radius;
area = Pi * radius^2;
それぞれの行の最後にセミコロンを入れると、出力が表示されなくなります。
記号定数
定義済みのシンボルPi
は円周率を記号定数として持っています。
これは、方程式にPiを入れても、Piの真の値への参照が保持され、
10進数に変換されたり丸められることはありません。
In[19]:= Pi
Out[19]: π
In[20]:= tau = 2 * Pi
Out[20]: 2 π
記号定数の10進数値を得るには、N
関数を使います。
In[5]:= N[Pi]
Out[5]: 3.14159
デフォルトの有効桁数は6ですが、第二引数で指定することでより大きな有効桁数にすることができます。
In[6]:= N[Pi, 10]
Out[6]: 3.141592654
これは小数位の指定ではなく、数字の個数の指定ですので、3がカウントに含まれており、 小数位は9であることに注意してください。
リスト
データの集合をリストに保持することができます。
nums = {1, 2, 3, 5, 8}
people = {"Alice", "Bob", "Charlotte", "David"}
Range
Range
関数は数字のリストを作るのに使用できます。
Range[5] (*1から5の数*)
Range[2, 5] (*2から5の数*)
Range[2, 5, 2] (*2から5の2刻みの数*)
Table
Table
関数は、関数を使ってリストの値を作る方法です。
Table[i ^ 2, {i, 10}] (*1から10の数の二乗*)
Table[i ^ 2, {i, 5, 10}] (*5から10の数の二乗*)
Table[i ^ 2, {i, nums}] (*リストnumsの各要素の二乗*)
ループ
Do
を使って、複数回のループ処理や、リスト内の要素に対して処理を行うことができます。
Do[Print["Hello"], {10}] (*Helloを10回表示する*)
Do[Print[i], {i, 5}] (*1から5の数を表示する*)
Do[Print[i], {i, 3, 5}] (*3から5の数を表示する*)
Do[Print[i ^ 2], {i, nums}] (*リストnumsの各要素の二乗を表示する*)
関数のヘルプ
クエスチョンマーク(?
)の後に関数名を入力してShift + Enter
を打つと、
関数の使い方についてのヘルプを見ることができます。
関数の検索
関数名の一部を入力することで、一致する関数を検索することもできます。
(?
)から始めて、ワイルドカードにはアスタリスク(*
)を入れてください。
In[15]:= ?Device*
複数のワイルドカードを使うこともできます。
In[16]:= ?*Close*
コメント
ここまでの例でも見てきたように、
括弧((
と)
)とアスタリスク(*
)
を使うことで、スクリプト内にコメント(コメントはプログラムから無視されます)を書くことができます。
Print["Hello"] (*スクリーンにHelloと表示する*)
Wolframコマンドラインアクセス
ターミナルにwolfram
と入力するか、デスクトップのWolframアイコンをダブルクリックすることで、
コマンドラインからWolfram言語にアクセスすることもできます。
これはテキストのみ(グラフィカルではない)のプログラミング環境で、
In[x]
/Out[x]
のインターフェースを提供しますが、
インタラクティブなノートブック機能はありません。
Mathematicaの関数は通常通りに動作します。
ノートブックを動作するのに必要なグラフィック処理が無いことにより、 コマンドラインインターフェイスの方が動作が速いのですが、 インタラクティブな機能やグラフィック表示はありません。
終了するにはCtrl + D
を押してください。
Wolframでスクリプトを動かす
プログラムを書き、普通のファイルとして保存しておき、
そのスクリプトをコマンドラインから-script
フラグを追加することで実行することができます。
test.m
を実行するには次のように入力します。
wolfram -script test.m
さらに詳しい情報
次のページで行列やグラフのプロット、GPIOやラズベリーパイのカメラの使用についての情報を含む Mathematicaのさらに高度な使い方が確認できます。
ラズベリーパイ上でのMathematicaやWolframの使用についてブログを読んでみてください (mathematica、 wolfram、 wolfram language、 wolfram research tags )。
ラズベリーパイ上のMathematicaのパフォーマンスについても調べてみてください。 また、Mike Croucherによるベンチマーク結果も確認してみてください (Playing with Mathematica on Raspberry Pi)。
このページについて
このページはラズベリーパイ財団が権利を保有するRaspberry Pi Documentationを五十嵐システムズが日本語訳したものです。
Creative Commons Attribution 4.0 International Licenceのもとで公開されております。
原文はhttps://github.com/raspberrypi/documentationの成果によって作成されています。
なお、このページは2015年6月に翻訳しており、それ以後の更新内容は翻訳に反映していないため、内容が原文とは異なる場合があります。