MATLABとは?
エンジニアの皆さんは、機械学習やディープラーニングといえば、プログラミング言語のPythonを思い浮かべる方が多いと思いますが、Pythonと似た言語で、数値計算に特化した数値解析ソフトウェア/プログラミング言語MATLABが注目をされています。
この記事ではエンジニア初心者の皆さんに向けて、MATLABで何ができるのか、Pythonとは何が違うのか、難易度や将来性などを徹底解説していきます。
MATLABの概要
MATLAB(マトラボ)は、米国に本社を置き、数値計算ソフトを開発するMathWorks社のプログラミング言語の名称です。日本ではMathWorks日本法人によって販売されており、トヨタなど日本企業の導入事例も増えています。
MATLABは、行列処理や配列処理を得意とし、数値計算の分野に強い言語です。ほかに、データ型の変換、演算、条件分岐などのプログラミング機能を備えています。また、C言語、C++、Java、Pythonなどの他言語との連携機能を有するという特徴を有しています。
【参考】:MATLAB公式ページ
【参考】:「うまい運転」を実現するには トヨタ自動車がモデル予測制御(MPC)を活用
MATLABの特徴
MATLABの特徴としては、数値計算処理に強い、グラフや図の作成が簡単であるという点にあります。また、コンピュータがプログラムを実行する際に、PHPやPython、Rubyなどと同じくインタプリタ言語です。
インタプリタ言語とは、1行ずつ機械語に翻訳していく方式の言語で、コンパイル作業が不要で、プログラムの実行結果をすぐに確認できる点がメリットです。
MATLABの歴史
MATLABは米国の数学者クリーブ・モラー氏により1970年代後半に開発されました。クリーブ・モラー氏がコンピューター科学長を務めるニューメキシコ大学で学生たちに利用されたMATLABは、フリーソフトとして他の学校へも広まり、応用数学コミュニティでも話題になりました。
1983年にエンジニアのジョン・N・リトル氏がMATLABの商用利用の可能性に気付き、1984年にMathworks社を設立するとC言語でMATLABを書き直し、商用パッケージ化を図ったのです。MATLABは当初、制御工学分野を中心に普及拡大をしていきましたが、次第に理工学系・経済学系の線形代数や数値解析分野でも使われるようになりました。
最初は米国内を中心にで使われていたMATLABですが、1988年に日本で商用展開が行われ、『サイバネットシステム株式会社』が日本での販売を受け持ちました。その後、2009年以降は『MathWorks Japan』が販売代理店業務を受け持ち、今日に至っています。
東工大などがMATLABを採用
東京工業大学では、2015年にMathWorks社と「Total Academic Headquarter」(TAH)ライセンス契約の締結を行いました。その結果、東工大学内のコンピューター以外にも、東工大の学生や教職員のパソコンにまでMATLAB/Simulinkがインストール可能となったのです。
これは東工大の教育改革の一環としてMATLABの活用を進めるものであり、今後の利用拡大、コンピューター学習の多様化などが期待されています。ほか、金沢工業大学もAI人材の育成を目指してMATLAB/Simulinkを導入し、全学生と教職員が、いつでも、どこでも、それらを自由に利用できる環境が整っています。
Simulinkとは
SimulinkはMATLAB上のダイナミックシミュレーションのオプションツールボックスです。
ダイナミックスシミュレーションとは、CG(コンピューターグラフィックス)で物体や人の動きなどの物理運動を力学的に模擬実験して表現するアニメーションのことです。SimulinkはMATLABとは一体の関係にあり、Simulinkだけを単独で利用することはできません。
【参考】:Simulink-公式
MATLABで何ができる?
MATLABはPythonとほぼ同様のことができます。では具体的に何ができるのか、活用事例も交えて代表的なものを挙げていきます。
アルゴリズムの開発
MATLABの得意なこととして、深層学習(ディープラーニング)を活用したアルゴリズム開発、そのアルゴリズムの実装があります。例としては『歩きスマホの検知』というものがあります。
これは「ディープラーニングによって、歩きながらスマホを利用している人物を判断・検知し、危険な歩きスマホをしていると警告を行う」といったアルゴリズムが実際に開発されています。
先進運転支援システム
MATLABの活用事例としては、先進運転支援システム(ADAS)があります。先進運転支援システムはドライバーの役割である走行時の障害物認識を行い、自動ブレーキなどの制御を行う運転支援システムです。公式サイトによると、米国ではこのADASによって交通事故が28%減少したという結果が出ています。
【参考】:ADAS(先進運転支援システム)|MathWorks 公式
Toolboxによるさまざまな数値計算
MATLABは数値計算言語と言われるだけあり、アドオンのToolboxで機能拡張ができ、「統計解析」や「アルゴリズム開発」、「内挿、外挿、回帰」、「微分と積分」などあらゆる数値計算処理機能を利用することが可能です。
C/C++コードの生成
MATLABにはCおよびC++のコード生成機能として、MATLABのコーディング用ツールである「MATLAB Coder」があります。これによって、Cによるデスクトップアプリケーションや組込み用のアプリなど、幅広い用途に対応可能なコードの生成が可能となっています。
【参考】:MATLAB Coder-公式
MATLABとPythonは何が違う?
Pythonとよく比較されるMATLABですが、MATLABはPythonとは何が違うのかについて見ていきましょう。
MATLABとPythonの比較
両者の違いを比較するために、比較表を作成してみました。
こうして比較してみると、料金面や求人の多さではPython、数値計算処理機能ではMATLABということになるかと思います。
MATLAB Python
▪料金: 基本は有償 基本は無償
▪得意分野: 数値計算処理 ディープラーニング
▪言語方式: ~いずれもインタプリタ言語~
▪サポート: 専用ヘルプあり ユーザーフォーラムなど
▪求人件数: 少ない 多い
※MATLABを言語として比較しています。
【参考】:Python 公式サイト
【参考】:公開求人検索|マイナビAGENT
MATLABに関するQ&A
ここまで、MATLABの概要、MATLABで何ができるのか、MATLABとPythonの違いなどについて解説しましたが、ここではMATLABに関する素朴な疑問について解説をします。
無料で利用できる?
MATLABは基本的に有償ソフトですが、30日間の無料評価版がありますので、興味のある方は試してみてください。他、価格体系は以下のようになっています。詳細は参考リンク※で確認してください。
▪標準ユーザー : 285,000円(永久ライセンス)、114,000円(年間ライセンス)
▪学術的使用(個人):72,500円(永久ライセンス)、36,250円(年間ライセンス)
▪(HOME)個人利用:15,500円(購入)
▪学生: 4,990円(学生免許)、9,990円(学生スィートライセンス)
【参考】:※価格とライセンス|MathWorks
MATLABの人気度は?
MATLABを言語として見た場合、どの程度の人気度なのでしょうか?プログラミング言語の人気ランキングを発表しているTIOBE※によると、昨年に比べてランキングを落としてはいますが、MATLABはよく知られたPerlやRubyに次ぐ位置にあります。
【参考】:※TIOBE Index for May 2022
MATLABの勉強法は?
MATLABは日本ではまだ知名度が低く、他の言語と比べると参考書やスクールなどの数は限られていますが、以下のMathWorksのオンラインコースで学び、おすすめの参考書を利用してMATLABの使い方を学ぶとよいでしょう。
■おすすめの参考書
初めての人でも独習で学べる入門書です。簡単な計算やシミュレーション、機械学習まで、サンプルコードで実践しながらやさしく学べます。MathWorksのオンラインコースと併用するとより効果的でしょう。
▪著者:藤原 毅夫 ▪ページ数:224ページ ▪出版社:東京大学出版会 ▪発売日:2021/01/22
【参考】:MATLABクイックスタート
MATLAB認定資格制度は?
MATLABには、MathWorks社独自の認定資格制度があります。Associateと Professionalの2つのレベルの認定資格があり、認定を取得するとMATLABエンジニアとしてのスキル証明になります。資格試験はMathWorks社のオンラインのトレーニングコースを受講することで試験勉強ができます。
試験はオンラインでの受験が可能ですが、詳細はMathWorks社に問合せをして確認してください。
【参考】:MathWorks 認定プログラム
MATLABエンジニアを目指そう
MATLAB/Simulinkは日本ではトヨタをはじめとして、日産、三菱重工業、村田製作所などの名だたる民間企業で採用されています。また、MATLABが利用されるDXやAI、IoTの分野はエンジニア需要が旺盛ですが、一方でITエンジニアの不足は続きます。
こうした状況から、MATLABエンジニアに対する需要は今後も増加することが想定されます。Pythonの人気は相変わらず高いものがありますが、日本市場でもMATLABが浸透していけば、MATLABエンジニアに対する需要は伸びると考えられます。
MATLABを試してみて、興味が湧いた方、AIエンジニアを目指す方はMATLABを習得してみてはいかがでしょうか。
【参考】:トヨタ|検索|MathWorks
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから