Slide 1

Slide 1 text

SimulinkとMATLABをつなぐ 魔法の言葉 @motorcontrolman

Slide 2

Slide 2 text

@motorcontrolman 1 ・「MATLAB芸」えばんじぇりすと(自称) ・MATLAB芸人(Mathworks半公認) ・好きなToolBox:Control System, Stateflow, Computer Vision

Slide 3

Slide 3 text

本日紹介するMATLAB芸 2

Slide 4

Slide 4 text

突然ですが 3 か か

Slide 5

Slide 5 text

突然ですが 4 か か Simulink MATLAB

Slide 6

Slide 6 text

S派とM派 (独断と偏見) 5 S派 M派 ・制御屋 ・フィードバック ・組み込み ・非線形 ・統計屋,画像屋 ・フィードフォワード ・組み込まない ・線形数学

Slide 7

Slide 7 text

6 ・両方をディープに使う人は少数 ・本発表はその少数派向け

Slide 8

Slide 8 text

ところで、SとMの関係 7

Slide 9

Slide 9 text

実用上におけるSとMの関係 8 実行、停止、ブロック生成、配線、 配置換え、色変え etc… ワークスペース読み書き ごく一部のMATLAB関数のコール

Slide 10

Slide 10 text

9 絵にすると

Slide 11

Slide 11 text

10

Slide 12

Slide 12 text

なんとかならないか? 11

Slide 13

Slide 13 text

した 12

Slide 14

Slide 14 text

SimulinkとMATLABをつなぐ 魔法の言葉 SimulinkがMATLABを 服従させるための魔法の言葉

Slide 15

Slide 15 text

さあ皆で唱えよう 14 ・coder.extrinsic ・evalin ・set もしく setfield

Slide 16

Slide 16 text

15

Slide 17

Slide 17 text

要するに 16 おい、あのMATLAB関数使わせろ! (coder.extrinsic) ほぉ、ええデータ持っとるやんけ! (evalin) ほな、それ改ざんさせろ! (set, setfield)

Slide 18

Slide 18 text

17

Slide 19

Slide 19 text

何が嬉しいか 18 ・制御設計はSimulinkで、 可視化はMATLABで実施可能 ➡SimulinkとMATLABのいいとこどりできる ➡複数デバイスの入出力関係を可視化できる ・Simulink画面で色々できる ➡MATLAB側の機能を覚える必要性が下がる (例:App designer代わりにDashBoard使う) ・MATLABで作ったクラスをSimulinkから触れる ➡MATLAB資産をSimulinkに流用できる

Slide 20

Slide 20 text

ネガ 19

Slide 21

Slide 21 text

ともかく 20 魔法の言葉で素敵なMATLAB/Simulinkライフを

Slide 22

Slide 22 text

21

Slide 23

Slide 23 text

22 割り込み関数 displayChara BLE Notify (Aボタンで文字”A”、 Cボタンで文字”C” 送信) ・BLE Readし 文字”A”なら a++; 文字”C”なら c++; ・Simulink APIで GainA に 定数aセット、GainC に 定数cセット Simulink API BLE Write b = ble("m5-stack"); ch = characteristic(b, …); subscribe(ch); ch.DataAvailableFcn = @displayChara; global a; global c; おまけ