MatlabとPythonの連携その1

Matlabは昔から他言語,例えばC言語と連携、つまり使えます。

直接的?、間接的?どっち?と言われても難しいから連携なんでしょう。

直接コードが書けるわけでもなく、連携する言語のパッケージを

呼び出す形となります。

昔は、

・Matlabだと効率が悪い。

・C言語をMatlabで書き直すのが面倒。

・協業先とファイルを共有したいが中身を知られたくない。

って用途で主にC言語とMEXファイルという形で扱いました。

だいたい20年ほど前の話ですが・・・

最近は恐らくAIブームでPythonの利用が流行ってるので

連携できる様になっています。

”じゃ、Pythonでやればいいじゃん!”

って思いますが、わざわざ連携させるのはMatlabが高額なうえ

AIのプログラムを作ろうと思えば

Statistics and Machine Learning Toolbox
Deep Learning Toolbox

この辺のツールボックスが別途必要になります。

ちなみにAIで一つのパッケージでなく機械学習と

ディープラーニングが別になってます。

なかなか手が出ませんね。

ということでMatlab使うにしても基本的な部分にとどめて

AI部分をPython使うってパターンの用途が多いかと思います。

そもそも連携しなくていいじゃん!

って話にもなりそうですが、Simulink使ってダイナミックシミュレーション

する企業は結構多いかと思います。

そこで制御系にAIを組み込んでちょっと試してみたいという

使い方する場合には組み合わせないといけませんね。

私もその口ですが・・・

ちなみにPython2.7はMatlabR2014bから現在のバージョンでも使えますが。

Python3.xはMatlabのバージョンの新しさに比例し限定されます。

導入するにあたり、結構手こずってしまいましたが

なんとか完了しました。

次回は設定の備忘録です。

最終的にはSimulinkサンプルの自動車を自動車の

燃費審査に使うモードパターンに追従するモード

ドライバーをPythonと組み合わせて作り上げたいと思います。

実は15年位前に2自由度制御使ったモードドライバーを

作ったのですが、そのゲインスケジューリングを

機械学習で決めたいと思います。

あとできればArduinoを使ったモールスデコーダーを

作りたいと思います。

もしかするとシグナルプロセッシングだけでできるかも知れませんが・・・

簡単に言えば実際に人間が打つ多少ばらつきのあるモールス信号を

判定するものです。イメージはこんな感じ

良かったらMatlabとArduino使ったリアルタイムのモールスエンコーダー

も公開しているのでダウンロードしてください。

1分間に120文字くらいなら対応していますので良い訓練になります。

まとめ

・連携にはPythonのインストールが必要

・MatlabとPythonの対応バージョンの確認が必要

・Matlabツールボックスが高価

・Simulinkでのシミュレーションで使いたい

・MatlabとPythonの対応→ここ

未分類

前の記事

価格改定のお知らせ
MATLAB

次の記事

機械学習