Matlabは企業•大学等で使う機会のよくある数値解析ソフトで、独自のプログラミング言語でもあります。
#Matlabの歩き方
検索してでてくるMatlab入門ページの多くはMatlabのプログラミング言語としての文法の解説ばかりです。自分が初心者の頃はMatlabの操作画面やドキュメンテーションなどの使い方がよくわからず手間取ってしまいました。そこでMatlabを使い始めたけど、どうしたら良いのかわからないというMatlab初心者の方の最初の一歩の助けになれば良いと思い、この記事を執筆します。
#Matlabの基本
Matlabはプログラミング言語の印象が強いように感じます。なのでMatlabの基本と言ったら基礎文法を説明するのが普通なのかもしれません。ですがこの記事の趣旨はMatlabの歩き方を知ってもらう事なので、基礎文法には触れません。まずはとにかくMatlabの実行の仕方を覚えましょう。
-
スクリプトの新規作成
ウィンドウの左上のプラスと表示されている新規作成ボタンを押します。 -
エディタでコーディング
エディタが出てくるはずです。ここでMatlab言語でプログラミングを行います。何か適当なスクリプトを書いてみてください。 -
実行
できたら上部の再生ボタンのように見える実行ボタンを押すと、スクリプトが実行されます。これでMatlabを一応使えるようになったので、Matlabの文法を勉強できます。スクリプトは拡張子が.mのmファイルとして保存されますが、実行するたびに上書き保存されるので気をつけましょう。
スクリプト内で使った変数は実行後もワークスペースに残ります。ワークスペースは左側にある変数が表示されている所のことです。
ワークスペースにある変数をクリックすると、変数の中身を見る事ができ、非常に便利です。
この辺りの操作方法を知っていれば、行列の計算•for文•if文•グラフのプロット•データの読み書きなど、Matlabのプログラミング言語としての基礎練習を迷わずに行うことができるはずです。
#Matlabドキュメンテーション
基礎文法をある程度習得できたら、Matlab の豊富な組み込み関数を使用し、より高度な計算をしたくなります。使用する関数の名前を調べるときはGoogleで「matlab 関係する単語」のように検索しましょう。
すると、該当する組み込み関数などのMatlabドキュメンテーションがヒットするはずです。日本語で検索しても出てこない場合は英語で検索します。
※個人的な感想なのですが、ドキュメンテーション内で検索するよりもヒットしやすい気がします。
ドキュメンテーションの構成は左のカラムにまとまっています。はじめのうちは例をコピペしながらその関数の用法を少しずつ理解していくと良いでしょう。
入力引数と出力引数に何が指定されているのかに注意すると、Matlab の関数は数学や物理の関数と同じようなものなので、すぐに理解できるでしょう。
ドキュメンテーションの読み方がわかってしまえば、後はやりたいことに合わせて知識を増やしていくだけです。for文を使ってグラフをアニメーションにしてみたり、画像や音声を読み込んで遊んでみたりと、色々やってみましょう。
#Matlab上達のために
Matlabには沢山の機能があります。全ては紹介しきれませんが、必ず使うであろう重要なものを列挙しておきます。ある程度Matlabに慣れてきたら、使えるようにしておく事をお勧めします。
-
スクリプトの関数化
関数は自分で簡単に作れます。コードが長くなってきたら積極的に関数化して整理しましょう。 -
データ型
Matlabには構造体やテーブル、セル配列といったデータ型があり、複数のデータをまとめて扱う事ができます。 -
Figureのプロパティ
グラフのフォントや文字サイズなどの体裁を細かく指定できます。 -
コマンドウインドウの操作
コマンドウインドウは出力やエラーの結果が表示されるだけでなく、mファイルの実行や簡易的に入力した実行文を試したりする、使用頻度の高い操作を行う場所でもあります。 -
デバッグ
スクリプトを実行したら、実行エラーは出てないのに結果がおかしいという事があります。そんな時はブレークポイントを指定し、実行を指定したところで一時停止させ、そのときの変数の値を確認する事ができます。 -
オブジェクト
Matlabはオブジェクト指向プログラミングができるように設計されています。オブジェクトを扱う組み込み関数は意外によくあるので、自分でクラスを定義する気が無くても知っておく必要があります。
以上が初心者のためのMatlabの歩き方です。SimulinkやToolbox、アプリケーション、Matlab Centralなど、Matlabに関連する重要なものはまだまだありますが、上に書いた事が一通りできるようになればMatlabを使いこなせていると言って良いのではないでしょうか。