畑違いの分野に入る時の本選び

次に進む前に、記事にしておきたい事がある。

勉学・研究や仕事で困難な問題にぶち当たり、諦めてしまう事があるかもしれない。自分の場合は、「今解らなくても、勉強し続ければいずれ理解できる所まで到達する。」という気概を持って進んできた。日本人なので、和文ならなんとかなるだろう。

自分が最初に挫けそうになったのは、流体力学だ(それ以前にも挫けている事は色々あるが、入社してからということで、)。大学での専門は物理系のため、機械系の項目を履修しておらず、職についてからの独学が長く続いた。周囲の先輩は機械系が多かったが、質問しても満足な回答が得られなかった。勝手に自分が未熟なためだろうと思っていた。暫くしてから気づいたが、実は先輩たちもよく理解していないので答えられなかっただけなのだ。こんな事は文系・理系・医系に関わらず結構有ると聞く。結局自分でハードルを超えるしかない!。

そうこうして流体力学の本を読み漁る旅が始まった。しかし、知らないというのは困ったもので、初めの二、三冊は学部生でも難しい専門色の濃いベストセラー本を選んでしまっていた。これが挫折の坂道を下らせていた。本を買う時はなるべく本屋で実際に手に取り、中味を見て買うのだが、分厚いベストセラーを手にすると、理解できるだろうと勘違いしてしまうのだ。

畑違いの分野に入る時の本選びは、中味を見て理解しやすさを診るのは何よりだが、絵が多くて薄い本を入門用とした方がいい。また数式表示もカッコよく簡略された記号でなく、三次元ならxyzを用いて丁寧に書き下されている方が理解しやすい。また数式が少なく文章がやたらに多い本も要注意、Excelなどで自分で確認できるレベルが好ましい。

次に挙げる本を実際に入門用として購入しなおした。理解できなかったら流体力学を諦める覚悟で読み通した本だ。

一つ書き漏れていた。自己研鑽用の書籍類はできるだけ自腹を切ること。自腹で買った本なら、何の躊躇いもなく自由に書き込みができる。

フリーツールで数式から曲面を描いて見た(wxMaxima)

今度は3DプロットをwxMximaでトライして見た。gnuplotが後ろで動いていることは既に書いた通り、少しコマンドが増えてしまうが仕方ない。

一番上のプロットはwxMaxima画面上にあるメニューバーのPlotからプルダウンしてPlot3Dを選んで描いたデフォルトだ。真ん中は、オプションコマンド[elevation,80]を指定してviewpointを若干下に下げたものだ。

---------------------------------------------------------------------------------------

wxplot3d((1.5^ysin(x), [x,4,4], [y,4,4],
[
gnuplot_postamble, "set pm3d at s; unset surf; unset colorbox"])$

wxplot3d((1.5^ysin(x), [x,4,4], [y,4,4],
[
gnuplot_postamble, "set pm3d at s; unset surf; unset colorbox"],

    [elevation,80])$

wxplot3d((1.5^ysin(x), [x,2,2], [y,4,4],

[gnuplot_postamble, "set pm3d at s; unset surf; unset colorbox"],

    [elevation,90],[azimuth,0])$

---------------------------------------------------------------------------------------

一番下は、更にオプションコマンド[azimuth,0]を追加して、y軸を奥行き方向に変えたものだ。この際にxyの範囲を6/25のLiveMathの二番目プロットと近い値に変えてある。双方は高い確率で同じ値になっていることが予想される。

商用であれ、オープンのソフトであれ、肝心な箇所は複数のソフトウェアで確認した方がいい。ソフトウェア解析業界用語に置き換えると「結果の検証」の一部である。

数式から曲面を描いてみた(LiveMath)

LiveMathの「痒い所に手が届く」感じを紹介する。6月12日にアップしたプロットを少しイジってある。

・グラフ詳細の境界エリア

xyzの範囲を夫々-2〜2、-4.1〜4.1、-6.1〜6.1にしてある。xyの値の正負が解る様にviewpointも少し左にマウスで寄せた。

・グラフ詳細のGraph Building Blocks

zyxのラベル値の色を夫々、黒、青、赤にプルダウンメニューで選んでいる。あくまでも見やすくしたかったからで、他意は無い。

-----------------------------------------------------------------------------------

-------------------------------------------------------------------------------

下図は上のプロットをマウスで回したものだ(昨日Mapleで描いたものと同じviewpoint)。好き嫌いは有るだろうが、自分はLiveMathが好みだ。

日本語の参考書は古いものしかないので、以下にURLを挙げておく。

https://www.livemath.com/documentation/LiveMath-Basic-Introduction.pdf

https://www.livemath.com/documentation/LIveMath-Core-Computations.pdf

-------------------------------------------------------------------------------

 

数式から曲面をMapleで描いてみた。

高い頻度で使用しているMapleを使って、数式から曲面を描いてみた。

デフォルトレベルで、少なくともxyは表示される。

-------------------------------------------------------------------------------

--------------------------------------------------------------------------------

二つ目のプロットは、y=-3の面からy軸を奥行きにして、見た所である。オプションのコマンドorientationで角度を指定して描いた。この様に遠近感なしでプロットしてくれるのが嬉しい(Livemathでも可能)。途中を見たい時はyの範囲の数値を変えれば良い。この様に二次元にバラしながら見られるのは問題を簡単化する上で重要である。Mathematicaにおける3Dプロットの遠近感なしの表示方法は残念ながら不明である。

Mapleの参考書はMathematicaに比べて少ないのが残念だ。新しい所を紹介しておく。中味は機械系に特化しているが、色々なコマンドが有ることが理解できる。

 

 

 

今度は曲面をフリーツールで。

またWolfram CloudMathematicaで描いてみた。

マウスで見たい所を見つけるまでグルグル動かせるから、使用感はまあまあだ。gnuplotがベースになっているwxMximaにはここまでの柔軟性は無い。それでもLivemathの「痒い所に手が届く感じ」には負ける。

----------------------------------------------------------------------------------

-----------------------------------------------------------------------------

2番目のプロットはOption項目を追加して見やすくしたものである。軸ラベルが無いと困るので、コマンドAxesLabelでxyzを出力する様に指定している。またBox線を曲面グリッドと区別できる様に破線の指示をしている。

少し古いが、Mathematicaの全容が書かれているので、以下の図書を辞書代わりに使っている。

 

 

 

 

フリーのツールで数式を可視化(Mathematica)

今回は、Wolfram Cloudを使って、ちゃっかりMathematicaで数式をプロットしてみた。Wolfram Cloudの導入法は他のネット情報を参考にしてみて。

--------------------------------------------------------------------------------------

 

-------------------------------------------------------------------------------------

Mathematicaは商用数式処理ソフトの2大巨頭の一つで、もう一つはMapleである。仕事ではMapleを使用してきた経験が多く、随分とお世話になってきた。でもこの様なサービスはWolfram Cloudだけの様だ。

とにかく、肝心なのは自分の知りたい所を複数のソフトウェアで確認することだ。

新しめの参考書として、下に挙げる。

 

 

 

 

数式の見える化(曲面)

今回はまたLivemathMakerを用いて、z=f(x,y)の振る舞いを見てみよう。

1 プロット

数式を入力し、数式全体をセレクトする。画面上部のプルダウンメニューから2DPlotを選ぶと下図の様にプロットされる。

驚くのはマウスでグラフを触ると回せることだ。しかも3D空間的にだ。これで時間を忘れてしまうので要注意。見たい所でストップすれば良い。

-------------------------------------------------------------------------------------

 
 

---------------------------------------------------------------------------------------

2 グラフ詳細

プロットエリアの右上コラムの一番下をクリックすると、グラフ詳細がプロットエリアのすぐ下に表示される。英語が含まれるが大した事はない。グラフ詳細は上下にエリアが出来る。

(1)境界エリア(勝手に命名した)

west...eastの範囲が-3...3で、south...northの範囲も-3...3であることが解る。xとyはこの範囲がデフォルトで使用される。当然この値を変えればグラフがそれに合わせて変動する。個人的には最初は大きい値の範囲を入れて全体像を見渡すのが好きだ。徐々に見たい範囲を狭めていけば良い。

bottom...topはx-yの範囲で自動で計算される。プルダウンメニューで「遠近感なし」をわざと選択している、広角レンズっぽく見えるのが嫌だからだ。

(2)Graph Building Blocks

変数の説明、グラフの色調・メッシュ有無、軸の色・線種が指定出来る。個人的には「メッシュ無し」だと物足りないから、グラフにメッシュを入れることにしている。尾根を登る様に値を辿る場合には見易いガイドになる。曲面の色調にはLivemathMakerの気持ちが込められているので、是非遊んでみて。