忘却の微分方程式(16) 2Dプロットは仕切り直し、MathematicaとMaxima

Joseph Halfmoon

Raspberry Piを利用したWolfram言語プロジェクト により無償で使用できるMathematica(Wolfram言語)と、定番の無償ツールMaximaを使用している5回目は2次元のプロットです。今回は Maxima 不戦敗な感じ、どうも私の手元のMaxima古くてダメかも。新版を再インストールして仕切り直した方が良い感じです。

※「忘却の微分方程式」投稿順 index はこちら

だいたい wxMaxima のplotの使い方が分かっていない件

まずは、普通の2次元プロット、Mathematicaの方から。プロット簡単。

WOLF2d000次はMaximaの方です。今の今まで以下の方法でプロットしていました。

Maxima自身はPlotの機能を持たないので、裏で gnuplot (これまた定番ツール)を呼び出して「別ウインドウ」にてプロットしてくれます。こんな感じ。

MAX2d000Pgnuplotの別ウインドウから画像にセーブすれば、Maximaの「本文」中に貼り付けることは出来る、と。そういう使い方してました。

なお、プロットは外部ツールにお任せなので、gnuplot以外のツールに接続することも可能みたいです。やったことはありませぬ。

しかし、Windows上のwxMaximaには、plot2dに似た、wxplot2d というコマンドがあったのであります。これも裏でgnuplotを呼んでいるようですが、UIは別。知りませんでした。Maximaについては、Web上で使い方をお教えていただいているサイト多数。その中でも今回は、水野倫理先生(神戸大の先生のようです)の以下のサイトを参考にさせていただきました。

Tomomichi Mizuno Official Web Page

以下のプレゼン資料(多分、講義用の資料なのではないかしらん)のお陰です。

Maxima 解説 第 6 回: グラフの描画

ありがとうございます。Maximaのplot2dでなく、GUIである wxMaxima「特有」らしい wxplot2d を使えば、プロットした結果を「ノートブック」に即座に貼り付けることができます。こちらの方が遥かに便利。

MAX2d001凡例やらの設定などもできるので、これでいろいろできるじゃん、と。

Mathematicaであると、以下のようにカッコよく凡例の指定などできます。凡例にする文字列を書かずに済ませるところなどなかなか。

WOLF2d003一方、Maximaのwxplot2d場合、ちょっとベタな感じです。それでも、先頭のアイキャッチ画像のように入力すれば、上の Mathematica と似たグラフにできないこともないです。

領域指定のあるプロットを試みて問題に遭遇

次に Mathematicaの使い易さを示す以下の例(数学を学ぶ学生のための入門チュートリアル 2Dプロット内の例です)を描画。不等式で囲われた領域を簡単に描画してくれます。お見事!

WOLF2d002なんとかこれに似たことを wxMaxima でやろうと試みました。しかしそのためには、

wxdraw2d (もしくはdraw2d)

が使いたいと思いましたです。しかし、手元のwxMaximaではエラーになります。言うこと聞いてくれない感じです。こりはダメだ。調べてみると手元の版のwxMaximaも、そこから呼ばれているMaximaも、相当バージョンが古いです。10年近く前の版。。。そこから呼ばれている gnuplot も多分古いデス。。。

まずは、MaximaとwxMaximaを更新してdraw2dコマンド使えるようにするのが先決だな。。。

中途だけれど本日はここまでと相成りました。そのうち2Dプロットの仕切り直しをいたします。

残念なご指摘

先ほどの水野倫理先生のサイトにはPDF資料などもあり大変参考になります。以下のPDFを拝見させていただいたところ、

Maxima 入門 5

1つ Maxima には残念なご指摘がありました。1か所引用させていただきます。

Maxima は不等式を解くことがあまり得意ではないため,不等式問題の計算には様々な制限ある。例えば,連立不等式を解くことは(私の知る限り)できないようである*1。

そうなのですか。薄々そうなのかなあ、などと想像していたのですが、そうなのね。。。なお、上記の引用の末尾 アスタリスク1の注の最初の1文も引用させていただきます。

*1 一方,有料である Mathematica は連立不等式を解くことができる。

そうだよねえ。

忘却の微分方程式(15) 因数分解、方程式、MathematicaとMaxima へ戻る

忘却の微分方程式(17) 2D領域プロットリベンジ?MathematicaとMaxima へ進む