気体の状態方程式をPythonで! エピローグ

python
python

状態方程式との熱い戦いだった。

戦いは人を成長させる!

過去記事:
pV=nRT 単位換算地獄 ~気体の状態方程式をPythonで! ep 1~
実在気体をPythonで解く~気体の状態方程式をPythonで! ep 2~
実在気体をPythonで解く(解決編)~気体の状態方程式をPythonで! ep 3~
Pythonで作った実在気体の状態方程式はどこまで使えるか?~気体の状態方程式をPythonで! ep 4~

4回に渡って、気体の状態方程式を取り扱ってみました。
1回目は理想気体を扱い、2~4回は実在気体を扱いました。
やってみた感想を書いてみます。

1.ドラマティックな戦い

状態方程式との戦いはドラマティックでした
1回目のひたすら単位換算を書きまくるという修行!
2回目の完全なる敗北!
3回目の覚醒!
4回目の大勝利!!

いや、もうこれ漫画やん!

1回目を書き始めたときには、こんなことになるとは思ってなかったです。そもそもNumpyなんて知らなかったですからね。
強力な仲間を得て、敵を倒す。
漫画やん!

2.やったこと

忘れがちですが、そもそも勉強したテクニックをアウトプットするのが目的で始めたブログです。
今回使ったテクニックを挙げてみましょう。

①:defで関数を定義する。
関数を定義するのは大事ですね。同じようプログラムを繰り返しやったので、有効性はよくわかりました。

②:with open(~):で外部CSVファイルのインプット
外部ファイルのインプットです。CSVファイルはインプットすると文字列になりました。

③:アルファベットの並べ方(ord関数、chr関数)
未履修範囲ですが必要に迫られてやりました。
ord関数は文字列を数字に読み替える。chr関数は数字を対応する文字列に変換する。

④:Numpyで連立方程式を解く
これも未履修範囲。実際に使ったのはnumpy→linalg→solveのみで、これで連立方程式が一瞬でとけました(今回は最大14変数までやりましたが一瞬です。)
これだけでもあまりの強大さにビビッています。numpyは非常に広大で重要そうですので、またチャレンジすることになりそうです。

⑤:with open(~):で外部CSVファイルへアウトプット(csv関数)
プログラム結果をcsvファイルにして出力し、別のプログラムでそれを開いて使用するという事をやりました。
今回分かったのは、csvファイルでインプットするときはいいのですが、アウトプットするためには、csv モジュールをインポートして、csv.writer関数を使用、さらにwriterowで書き込むと手順を踏む必要があるということです。

こうまとめてみると、結構新しいテクニックが使えています。

3.Numpyについて

今回、図らずも使うことになったnumpyですが、実際何者なんでしょうか?

少し調べてみました。たくさんのプロの方が詳しく解説されているのでここでは説明しないですが(とかいってますが、説明『できない』が正しいです)、どうやら数字の列や行列を取り扱うためのモジュールのようです。なるほど、だから連立方程式が解けるわけですね。

一つ一つやっていた四則演算を、数字のカタマリで実行できるので高速化も図れるようです。
あと、大体書いているのはデータサイエンスやディープラーニング等で必須ということです。
ということは、データサイエンスをあるためには、数学の行列を勉強する必要があるという事ですね。う~頭が痛い・・(ここはよく分かりません。やってみたら分かるのでしょうね。)

Numpyさん、たぶんまたお世話になるので、今後ともよろしくお願いします!

4.前回からの改善点

以前、くじ引きの計算をやったときの振り返りで出た改善点として、2つあげていました、
1つは、フローチャートを書く方法、もう一つはNG集の作成です。

フローチャートについては、今回から「draw.io」を使い始めました。これ、めちゃめちゃ良いです。
何が凄いって、無料、登録なしで使えて、作ったものはローカル(自分のPC)で保存できます。次回使うときは、ローカルで保存したファイルを入れれば、そこから作成できます
矢印でつなぐのも、めちゃめちゃ楽で、図形を動かすと矢印も追随してくれます。
私は使っていないですが、図形も多くの種類が用意されています。
さらにさらに、jpeg、pdf等のいろいろな形式で保存でき、余白も勝手に消してくれます
これだけできて、広告すらないってどういう事なんでしょうか?これからも使わせてもらいます。

もう一つ、NG集ですが作りました!!→僕たちの失敗 ~Pythonエラーコード集~
基本的には自分のためのものですので、体裁はあんまり整っていません。
もちろん、ホームで公開しているので、参考にしていただくのも全然OKですが、間違えていたり情報が不足しているかもしれません。
これからも何か失敗があるたびに増強していくはずです。
増えていくほど、実力もアップしているはずなので、いいやり方かもしれません。

5.今後の方針

ノープランです!いや、むしろやりたいアイデアはいっぱい溜まっているのですが、追いついていない状態といった方が正しいです。これからも好き放題やってく所存です!

あ、ひとつあるとすれば、なるべく覚えたテクニックはおりこんでいこうと思います。

PyQさんで勉強中!一緒にやろうぜ

コメント

タイトルとURLをコピーしました