Raspberry Piを利用したWolfram言語プロジェクト により無償で使用できるMathematica(Wolfram言語)と、定番の無償ツールMaximaを使用している5回目は2次元のプロットです。今回は Maxima 不戦敗な感じ、どうも私の手元のMaxima古くてダメかも。新版を再インストールして仕切り直した方が良い感じです。
※「忘却の微分方程式」投稿順 index はこちら
だいたい wxMaxima のplotの使い方が分かっていない件
まずは、普通の2次元プロット、Mathematicaの方から。プロット簡単。
次はMaximaの方です。今の今まで以下の方法でプロットしていました。
Maxima自身はPlotの機能を持たないので、裏で gnuplot (これまた定番ツール)を呼び出して「別ウインドウ」にてプロットしてくれます。こんな感じ。
gnuplotの別ウインドウから画像にセーブすれば、Maximaの「本文」中に貼り付けることは出来る、と。そういう使い方してました。
なお、プロットは外部ツールにお任せなので、gnuplot以外のツールに接続することも可能みたいです。やったことはありませぬ。
しかし、Windows上のwxMaximaには、plot2dに似た、wxplot2d というコマンドがあったのであります。これも裏でgnuplotを呼んでいるようですが、UIは別。知りませんでした。Maximaについては、Web上で使い方をお教えていただいているサイト多数。その中でも今回は、水野倫理先生(神戸大の先生のようです)の以下のサイトを参考にさせていただきました。
Tomomichi Mizuno Official Web Page
以下のプレゼン資料(多分、講義用の資料なのではないかしらん)のお陰です。
ありがとうございます。Maximaのplot2dでなく、GUIである wxMaxima「特有」らしい wxplot2d を使えば、プロットした結果を「ノートブック」に即座に貼り付けることができます。こちらの方が遥かに便利。
凡例やらの設定などもできるので、これでいろいろできるじゃん、と。
Mathematicaであると、以下のようにカッコよく凡例の指定などできます。凡例にする文字列を書かずに済ませるところなどなかなか。
一方、Maximaのwxplot2d場合、ちょっとベタな感じです。それでも、先頭のアイキャッチ画像のように入力すれば、上の Mathematica と似たグラフにできないこともないです。
領域指定のあるプロットを試みて問題に遭遇
次に Mathematicaの使い易さを示す以下の例(数学を学ぶ学生のための入門チュートリアル 2Dプロット内の例です)を描画。不等式で囲われた領域を簡単に描画してくれます。お見事!
なんとかこれに似たことを wxMaxima でやろうと試みました。しかしそのためには、
wxdraw2d (もしくはdraw2d)
が使いたいと思いましたです。しかし、手元のwxMaximaではエラーになります。言うこと聞いてくれない感じです。こりはダメだ。調べてみると手元の版のwxMaximaも、そこから呼ばれているMaximaも、相当バージョンが古いです。10年近く前の版。。。そこから呼ばれている gnuplot も多分古いデス。。。
まずは、MaximaとwxMaximaを更新してdraw2dコマンド使えるようにするのが先決だな。。。
中途だけれど本日はここまでと相成りました。そのうち2Dプロットの仕切り直しをいたします。
残念なご指摘
先ほどの水野倫理先生のサイトにはPDF資料などもあり大変参考になります。以下のPDFを拝見させていただいたところ、
1つ Maxima には残念なご指摘がありました。1か所引用させていただきます。
Maxima は不等式を解くことがあまり得意ではないため,不等式問題の計算には様々な制限ある。例えば,連立不等式を解くことは(私の知る限り)できないようである*1。
そうなのですか。薄々そうなのかなあ、などと想像していたのですが、そうなのね。。。なお、上記の引用の末尾 アスタリスク1の注の最初の1文も引用させていただきます。
*1 一方,有料である Mathematica は連立不等式を解くことができる。
そうだよねえ。