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の使用についてブログを読んでみてください (mathematicawolframwolfram languagewolfram 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月に翻訳しており、それ以後の更新内容は翻訳に反映していないため、内容が原文とは異なる場合があります。