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

Joseph Halfmoon

前回、MathematicaとMaximaで同様な2Dプロットを試みておりました。しかし手元の古い版のMaximaでは実行できない関数があるということで途中で無念の?打ち切りと相成りました。そしてMaxima(GUIであるwxMaxima)をバージョンアップ。今回は更新したMaximaを使って前回歯が立たなかったプロットにリベンジ?大丈夫か?

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

先週、MaximaのGUIフロントエンドである wxMaxima を再インストールしていて1件トラブリました。Windows版のインストーラ自体は「日本語」で動作していたのですが、wxMaximaを立ち上げたら「私にはサッパリな言語」で起動してきました。英語であればなんとかなるのですが、ほとんど意味不明。何となく「ラテン系」なノリ。スペイン語でなし、カタルニア語でもポルトガル語でもなし、実はイタリア語で立ち上がっていました。しかし、その時はイタリア語ということが分からないまま、手探りでメニューを調べていき、難行苦行のあげく、なんとか言語を切り替えるメニューに行き着きました。しかし、Jで始まる言語が無いのです。JapaneseのJ。イタリア語ではGで始まるのでした。

Giapponese

Giapponese選択した後再起動したら、普通に日本語で動きました。なんだかな~。

さて難行苦行のあげくにインストールした wxMaxima 21.05.2、裏側のMaxima本体は、以下のように 5.45.1 です。これであれば前回動作しなくて涙を飲んだ(そんな記憶はないですが)wxdraw2d()関数が使えるのでありましょう。

wxMaxima21052バージョンアップによる見た目の最大の差異が以下です。赤の横棒1本。

wxMaximaCursor

赤の長い横棒はセル・カーソルです。セル単位に上下にだけ動くカーソル。セルに入力を始めると普通の縦棒(赤)カーソルに変化します。

さて更新したMaximaを使ってグラフを書くにあたって、以下のマニュアル(日本語であります。感謝。)には大変お世話になりました。

Maxima 5.42.2 Manual

膨大な分量の偉業であります。その中でも描画の詳細は以下に。

53.1 Introduction to draw

前回のリベンジ

さて、学生でも無いのに前回、今回と参照させていただいておりますのが、以下のWolfram社のドキュメントであります。

数学を学ぶ学生のための入門チュートリアル 2Dプロット

前回は、その途中でMathematicaの領域プロットが登場し、Maxima側はバージョンアップ止む無しということになったのでした。

問題のプロットは以下です。Mathematicaであるとさらりと描けていました。

WOLFareaPlotさて、「似たもの」ということでwxMaximaで描いてみたのが以下です。

areaPlot境界の線分が描けてません。自動で境界の線分を描いてくれるような方法が見当たらなかったです。予め線分の交点のx座標を求めておいて式毎描画範囲として与えたら描けるだろうと思ったのですが、メンドイです。止めました。すみません。

お次は以下です。やはりMathematicaではサラリと書けてしまいました。1/xのグラフ、領域の塗りつぶし付き。

WOLFareaPlot2しかし、お気づきと思いますが、1/xです。x=0付近には魔物が住んでいます。Maximaでは Filling -> Axisみたいな便利な技が見つからなかったので、致し方ありません。

  • X>0とX<1で塗りつぶしを分けた
  • X=0を領域に指定すると描画を失敗するので適当に絶対値小さい値でお茶を濁した

さすれば、こんな感じ。

areaPlot2最初の例同様、境界の線も省略。

最後は以下です。中学生の2次関数の問題?的なグラフ。これまたMathematicaはさらっと描けます。

WOLFareaPlot3さすがにMaximaも中学生のグラフは一撃かと。今回はちゃんと関数の線も描いてあります(数学の先生に提出できるように?)

areaPlot3まあ、なんとか課題はクリア(したつもり。)

イタリア語、勉強になったな~

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

忘却の微分方程式(18) 幾何って言ってもなんだかな。MathematicaとMaxima へ進む