2021年12月17日金曜日

MATLABのすゝめ 水曜担当 田中

 こんにちは!水曜担当の田中です!

今回は巷で話題のプログラミングについての記事です!

主に学部生向けに、実験科目でのデータ整理など、はじめてプログラミングに触れる状況を想定して簡単なMATLABの紹介と扱い方についてお話します。プログラミングの強者の方たちには他の記事を参照することをお勧めします(笑)。


MATLABとは

MATLAB(マトラボ、マットラブ)とはMathWorks社の開発した数値解析ソフトであり、同時にその中で使われるプログラミング言語です。数値解析はもちろん、データの可視化や簡単なシミュレーションを行うことができます。慶應義塾ではMathWorksとライセンス契約しており(2021年12月現在)、ITCワークステーションやメディアセンター設置のITCパソコンではもちろん、学生は手持ちのPCにインストールして利用することができます。MATLABの利用については以下のリンク先の情報を参考にしてください。

[理工学ITC: MATLAB]

https://secure.itc.keio.ac.jp/c/a/st/ja/software_matlab_individual.html


どんなときに役立つの?

例えば実験レポートのデータ整理です。みなさんは普段の実験レポートのデータ整理にはExcelなどを使っているのでしょうか?MATLABではExcelでできること以上に多くの処理が関数化されており、その豊富なライブラリを利用して精度高くデータを処理することができます。加えてグラフや図の作成においてMATLABはグラフの3次元化や複数のグラフを重ねるなど、Excel以上に結果を見やすく整理できます。以下のリンク先では、MATLABの基本的なプロット関数を紹介しています。

[MathWorks: 基本プロット関数]

https://jp.mathworks.com/help/matlab/learn_matlab/basic-plotting-functions.html

代数計算にもMATLABは力を発揮します。方程式の求解や微分計算、式の単純化など幅広く利用できます。数学の課題を解くときなど、幅広く勉強に利用できるはずです。以下のリンク先では、MATLABの基本的な代数処理を紹介しています。

[MathWorks: Symbolic Math Toolboxの計算数学]

https://jp.mathworks.com/help/symbolic/computational-mathematics-in-symbolic-math-toolbox.html

最後に、みなさんが大学に入って初めて学んだ物理法則の記述にも使われる微分方程式も、MATLABでは数値的に積分しシミュレーションをすることができます。例えば以下のような微小振幅でない単振子の運動方程式は非線形であるために解析的には解くことができません。

\[ \frac{d^{2}\theta}{dt^{2}} +\sin{\theta} = 0 \]

しかしMATLABでは微分方程式のソルバーが提供されており、簡単に方程式を数値的に解くことができます。以下のリンク先では、MATLABの常微分方程式のソルバーを紹介しています。

[MathWorks: ode45]
https://jp.mathworks.com/help/matlab/ref/ode45.html


おわりに

研究室配属後にはMATLABを毎日のように利用することになるので、早めに使いこなせるようになっておくといいスタートダッシュが切れると思います。大学卒業後はMATLABのライセンスを利用できませんが、その場合は比較的互換性の高いOctaveなどを利用したり、MATLAB同様にライブラリが充実して無料で利用できるPythonのNumPyを利用したりなど、MATLABをきっかけにプログラミングに慣れていくと、将来的にさらなるスキルが身についてくると思います。またレポートや卒論の執筆については過去の記事でも紹介している$\LaTeX$を利用することでさらに美しいレポートに仕上がるので、ぜひ取り組んでみてください。

0 件のコメント:

コメントを投稿