軌道力学 - Orbital Mechanics -

宇宙を駆けるために!! 数学・物理・工学を結集させて……

プログラミング言語「Python」

 この状況下にて何か新しいことを始めようと考え、プログラミング言語Python」を学び始めました。学生時代(数十年ほど前…)、コンピュータを用いた科学技術計算を極めました。使用していた言語といえばFORTRAN(FORmula TRANslation)で、論文を書くためにも軌道計算のシミュレーションでもFORTRANを用いていました。

 前職において自らプログラミングする機会はあまりなかったですが、運用画面の設計書を仕上げたり、軌道上システムの制御ロジックや計算アルゴリズムを審査したり、軌道上のコンピュータで処理させる自動プロシージャ(手順)をレビューしたりと、プログラミングで培った論理的な思考は活かすことができました。

 プログラミング教育といいますが、問題解決のための論理思考が基礎であり、問題解決方法をコードに書くことになります。コードは実際に自分で書かないと身につかないですし、論理思考は日頃から考えていないと役に立たないかもしれません。

 C言語JavaScriptも少しかじりましたが、ちょっとした科学技術計算が必要な場合には、Microsoft Excelの関数を用いれば十分できるので、Excelを活用することが多かったです。手書きで数式を組み立てて、パラメータを入力して結果を数値で得るために、関数電卓を常に持ち歩いていました。最近は、テンキーの大きい経理用の電卓ばかり、たたいています。

 制御屋ですと、行列(Matrix)計算が大量に必要となるため、コンピュータ用の特別なアプリケーションを使うことになります。MATLABなどが有名ですが、有償であり、個人で使用するにはライセンス料が高いです。プログラミング言語でコードを書いて、1から組み立てるには膨大の能力と時間が必要となります。

 「Python」は、米国の大学では教育用言語として最も利用され、NASA技術者も実際に活用しています。科学技術計算用のNumPyというパッケージを追加することで、行列計算や数値演算も容易になります。

 ここでは、「Python」を用いて軌道力学計算を行える環境を考えていきます。

https://www.python.org/static/img/python-logo@2x.png