目黒研ではMATLABを本格導入しております!
MATLABとは
MATLABとは
-
行列演算のための数値解析ライブラリとして,アメリカでLINPACKやEISPACKの開発がされました。それらは,数値解析用途で用いられる言語であるFORTRANで書かれておりました。より簡単に数値解析のプログラミングができるように,1970年代後半から開発され始めた言語がMATLABです。1984年から商用で販売されております。詳細は,販売元のWeb
MathWorks社
をご覧ください。
目黒研でMATLABを導入する理由
- 信号処理,画像処理の分野では,行列演算を基にしたアルゴリズムが数多く,それらをC言語等のプログラミング言語で組むとなると,多重for文を使わなくてはいけなくなり,バグとり等で時間を浪費することが多くありました。当然,C言語等でプログラムを組めるスキルを付けることは重要なことなのですが,肝心のアルゴリズムの開発・研究を進める上では,プログラミング製作に時間がかかりすぎることは問題でした。そこで本研究室では,アルゴリズムの有効性を検証しやすくするために,行列演算が数式に近い形でのプログラミングにより実現されるMATLABを導入しております。これにより,プログラミングの生産性が向上されております。要は,アルゴリズムのアイデアをすぐにプログラミングによって試すことができる環境が整っているということです。
目黒研で使えるMATLABのToolBox(ライブラリ)
クリックするとMathWorks社の説明にジャンプします
MATLAB 本体
Simulink 本体
Signal Processing Toolbox
Image Processing Toolbox
Image Acquisition Toolbox
Computer Vision System Toolbox
Statistics and Machine Learning Toolbox
Deep Learning Toolbox
Parallel Computing Toolbox
各種ツールボックスで「すぐに」出来ること
-
画像処理,コンピュータビジョン,動画取り込み,信号処理,統計処理,機械学習,ニューラルネットワーク,深層学習,並列処理,モデルベースデザイン等
MATLABに関するQ&A
簡単に使えますか?講義で用いたOctaveがよく分からなかったのですが?
-
使えるようになります。元々MATLABは,使いやすい数値解析ソフトとして開発されたのです。Octaveで出来ることは当然,MATLABでもできますし,商用ソフトなので,できることはたくさんありますし,新しく使えるようになる関数も増えております。画像やグラフの表示はいろいろな設定があります。MATLABの開発環境でのプログラミングですと,使用中のスカラー変数,ベクトル,行列の大きさや型,数値の参照も見えますので,プログラムしやすいです。
もちろん,初歩の行列演算を分かってないと,すらすらとプログラムはできません。線形代数も復習しましょう。(研究室に所属してからの3年生ゼミ,演習でも復習をします)
最初からいろいろな関数がそろっているので,個別のアルゴリズムの勉強をしなくていいのですね?
-
いいえ。関数を使いこなすにしても,関数を「ブラックボックス」と思って使うと,使い方を間違える恐れがあります。初歩のアルゴリズム等は,べたに自作関数を作ったりして勉強したほうがいいです。慣れてから,すでにToolboxで用意してある関数を使いこなしましょう。例えば,主成分分析の関数があらかじめ用意してあるのですが,「データの分散共分散行列の固有値,固有ベクトルを求めて,一番大きい固有値に対応する固有ベクトルが第一主成分の方向を表す」ということを知らないで使っても,意味がありませんし,自分でアルゴリズムを考案することは出来ないでしょう。
ただ,いろいろな関数を使うのは簡単ですので,いろいろ遊んでみて,アルゴリズムに対する興味を持つきっかけや,どこまで特定のアルゴリズムが使えるのかの効果をテストする意味で,使ってもらうこともよいと思います。
家でもMATLABを使いたいのですが?
-
Student版を自分で買うことで使えます。(社会人には個人用もあります。なお,仕事用には使えません)Student版は,ある程度の種類のToolboxが本体とセットされております。そのほかのToolboxも欲しい場合は,本体と同時購入をすると,安く購入できます。