Simulink モデルを MATLAB ファイルやコマンドラインから起動し、実行するにはどうすればよいですか?
Simulink モデルを MATLAB ファイルやコマンドラインから起動し、実行するにはどうすればよいですか?
はじめに MATLAB/SimulinkはarduinoやRaspberryPiといった、ハードウェアと連携することが可能です。 連携方法としてはMATLABと連携する方法、Simulinkと連携する方法が準備されています。 MATLAB/Simulinkなんだから、どっちと連携させても大体同じでしょ!と思いきや連携のさせ方や使い勝手が結構違います。本記事においては、どこがどう違うのかを述べることで用途ごとの適切な連携方法の選択、および素早い技術開発の実現を目指すものとします。 参考 MATLAB連携:MATLAB Support Package for Arduino Hardware Simulink連携:Simulink Support Package for Arduino Hardware インストールはアドオンからが楽です。 おまけのおまけ:MATLAB Support Pac
MATLABでfigureの中のグラフにアノテーション(矢印)をつける方法を書きます。 ほとんど忘備録であり、他にも方法はあるのかもしれません。 1.手で張る いきなり何を言うのかと思うでしょうが、大多数の人はこれでしのいでいるのではないでしょうか。Figureをパワポか何かにコピーして、パワポの上で矢印をつける方法です。 MATLABのノウハウも不要であり、ある意味、無敵と言えます。 やり方がわからず時間もない場合は、ためらわず、これをやることをお勧めします(マジ)。 2.まともな方法 では、まじめにMATLAB上でアノテーションをつける方法を説明します。 MathWorksのドキュメントには、構文は、 annotation(lineType,x,y) こうなっています。 説明を読んで分かった気になり、スクリプトを書いてみます。 サイン波を1周期分描いて、180度の点にアノテーションをつ
こんな感じのプロット描きたい と @motorcontrolman さんとの話の中で挙がったのがこちら。 引用:「モデル予測制御(MPC)による軌道追従制御」 by @taka_horibe さん 引用元では GIF 動画になっているのですが、簡潔+綺麗な可視化ですね。動いている小さな長方形はどうやって描いているんだろう・・。 ということで必要な要素の解説を入れながらちょっとづつやってみましょう。@motorcontrolman さんならサクッとできてしまいそうですが(笑 まずは subplot1 大枠から攻めていきます。Figure 上にプロットを複数作る定番は subplot (公式 doc: subplot) ですね。 例えば subplot(3,1,2) とすると Figure 画面上を 3 x 1 に分割して 2 個目(左から右、上から下に数えます)の位置に axes (座標軸)
はじめに 過去にカルマンフィルタについて独習した際のメモをQiitaでまとめることにしました。この記事では、はじめに時変カルマンフィルタについて取り扱ったのち、定常状態カルマンフィルタについて取り扱います。なお、記載の統一を図るため、数式や専門用語はMATLABのヘルプの表現に合わせています。 時変カルマンフィルタについて カルマンフィルタは、限られたセンサから得られるノイズを含む情報から、その制御対象の「状態」を推定することができます。例えば、航空管制レーダの追跡システムにおいて、レーダに映るノイズを含んだ「航空機のレーダによる観測位置」が分かるとき、カルマンフィルタによって「航空機の尤もらしい位置」と「航空機の尤もらしい速度」を推定することができます。 まず、この航空管制レーダの追跡システムを離散時間の線形な状態空間モデルに落とし込みます。 \begin{align} {x}[n+1]
はじめに 前記事にて、その際に、時刻情報を数値データで出力してましたので、それを見やすくるする方法を記載します。 M-FunctionでのMATLAB関数の使い方とmxArrayエラーの回避方法 ここで起きている問題は、データ線には文字列を流すことはできないという点です そのため解決策として、 ・理解できる数値情報に分解して流す ・文字列をグラフなどに出力する 1.文字列をSimulinkのデータ線に流すことはできない 前回の記事で、図のようなM-Functionを作成することで、日付情報を出力することができました。 ただ、数値のままでは読めないので、文字列にしたいと思いますが、 Simulinkのデータ線には文字列(String)のデータを流すことはできないので、 下記のようにしてもエラーになってしまいます。 2.数値データを分割して出力 取得した時刻データを、datetime関数を使っ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く