にゃん兵衛のてくてくらぼ

気の向くままソフトについて書いてます。バリバリエンジニアではないのであくまでも初心者目線で。

Wolfram Mathematica っぽいノートブックを Wolfram Engine と Jupyter で作ってみる(第4話:実際に計算させてみる1)

前回までで環境の設定は終わりました。

今回は実際に計算をさせて、使い方や制限などを書きたいと思います。

Mathematica のノートブックではコードを書いて確定したら、実行するのに「Shift+Enter」を押します。Jupyter で Wolfram Language を実行するのも同じです。「Enter」キーだけでは改行となります。

 

以前にも書きましたが Wolfram Language の文法は Wolfram Research 社のサイトに詳しいドキュメントがあります。その URL は下記です。

Wolfram Language & System Documentation Center

 

さて、いろいろ計算します。

最初の回で説明したように Wolfram Language では Python のように numpy、scipy、matplotlib などのインポートは不要です。

以降で説明する入力を In [x]: にそのまま入れるだけです。

 

【四則演算】

入力は改めて言うまでもないのですが、面白いのは出力です。下記の例では、計算結果は分数で返ってきます。

四則演算

これは結果が無限小数(数字が無限に循環する少数)であるためです。

 

【微分】

Wolfram Language では、微分は「D」です。構文は D[f(x), x] です。f(x) を x で微分です。

微分

偏微分の書き方などはリファレンスを参照してください。

 

【グラフ/データのプロット】

Pyhton でグラフを描こうとすると matplotlib を使うことが多いです。

さて、Wolfram Engine ではどうなるか。

プロットするデータをランダム(累積的な)に 250 個発生させて、折れ線グラフを描いてみます。データは3列としました。

折れ線グラフのプロット

軸の表示や色分けなども含めて、これだけでそれなりのものが書けます。

 

【グラフ/関数のプロット・3次元】

今度は関数を3次元でプロットしてみます。

Wolfram Language の元となる Wolfram Mathematica 内では、マウスでグラフを回転したり、操作することができますが、今回の環境ではスタティックな画像となります。

3次元グラフ

Mathematica では、グラフ描画の特徴として Manupulate という関数を使って変数を動的に変化させたときの様子を見ることができます。

しかし今回の環境では Manupulate を使うと、マニュアル操作ではなく、アニメーションとなってしまう。2変数の場合は、楚々ぞれの変数を順番に変化させたアニメーションとなります。

Manipulate を実行

(まあ、売りの機能の1つがそこまで無料のエンジンでできてしまうと、ライセンスが売れなくなるか(笑))