MATLABプログラミング Simulink基礎編(3)
前回に引き続き、「パラメータを読み書きする」についてご説明します。 モデルやブロックのパラメータ読み書きは、get_param, set_paramコマンドを使用するのですが、その際に次の2種類の情報が必要です。 どのブロック(モデル)に対して? どのパラメータを? 前回は「どのブロック(モデル)に対して?」について確認しましたので、今回は「どのパラメータを?」について見ていく事にします。
前回に引き続き、「パラメータを読み書きする」についてご説明します。 モデルやブロックのパラメータ読み書きは、get_param, set_paramコマンドを使用するのですが、その際に次の2種類の情報が必要です。 どのブロック(モデル)に対して? どのパラメータを? 前回は「どのブロック(モデル)に対して?」について確認しましたので、今回は「どのパラメータを?」について見ていく事にします。
前回にひきつづき、「パラメータを読み書きする」についてご説明します。 前回は、モデルやブロックのパラメータを読み書きする事が、Simulink向けMATLABプログラミングの基本ですよ、という事を確認しました。 その時に使うAPIとして、get_param, set_param をご紹介しましたが、そもそもパラメータ読み書きを行うにあたっては、大別して2種類の情報が必要です。 どのブロック(モ
MATLABのプログラミング機能を使用すると、Simulinkモデルの調査(モデル中に、Switchブロックはいくつある?)・加工(モデル中のConstantブロックをぜんぶ赤色にしちゃえ!)などを全自動で出来るようになります。これから数回に分けて、そのための方法をご紹介します。 今回ご紹介するのは、 「パラメータを読み書きする」 です。 これがSimulink向けプログラミング基礎中の基礎、正直
ふと思ったのですが、m-file向けのスタイルガイドってあまり見たことがありません。なんでスタイルガイドが出てくるかというと、ちょっと悩んでいる事があるのです。 というのも、m-fileって自由度が大きい分、下手に書くとぐっちゃぐちゃになってしまいます。とくにSimulinkモデルを扱う m-file には落とし穴がいっぱいあって、好き勝手に書くと、「分かりにくい」、「ちゃんと動いてくれない」プロ
Simulinkの信号線がどこにつながっているのか?というのは、結構わかりにくいものです。特に、1つのサブシステムに入出力ポートが20も30もあった日には大変です。(ぷち影響解析ツールが欲しい) そのうちツールを作ろうかなぁ、なんてブログに書きましたら、「通りすがりのSL初心者」様がサクっと作って、コメント欄に投稿してくださいました。 それをぷち影響解析ツールにて公開させていただいたのですが、さら
ぷち影響解析ツールが欲しいという記事を書きましたところ、通りすがりのSL初心者様がそのものズバリのツールを作って下さいました。 それをベースにほんの少しだけ調整をいれたものを、公開します。 使い方はとっても簡単で、信号線を右クリックして「Lineをトレース」をクリックするだけです。 すると、接続先のブロックがパカッパカッと点滅してくれます。
Simulinkモデルを階層化するために、複数のSimulinkブロックを1つのサブシステムにまとめる事があります。 さて、他人の書いたモデルを解析していると入力ポートが20も30もあるサブシステムに出くわすことがありますが、これがチョットだけ困り者です。というのも、サブシステムの「とある入力信号」が、サブシステム内のどこに繋がっているのかパッと見て分からないからです。 入力がいっぱいあるサブシス
Simulinkの設定についてちょっとした発見をしました。モデルの設定じゃなく、Simulinkというツールそのものの設定です。「実は、知らなかったのは私だけ?」とも思いますが、気にしない! さて、それなりの規模のSimulinkモデルは、サブシステムを使って階層化するのが一般的です。 Simulinkモデルを開き、「さぁサブシステムの中身を見るぞ!」と思ったとき、それをダブルクリックしますよね。
MATLABには、ユーザーが独自にMATLABのユーザーインターフェースをカスタマイズするための仕組みが用意されています。(独自メニューを追加するとか、既存メニューを見えなくするとか)。Simulinkブロックをすばやく配置できたでご紹介したツールなんかも、その仕組みを使ってSimulinkに右クリックメニューを追加しています。 それはたいがい、「m-fileでコールバック関数を書いておくと、MA
Simulinkブロックをすばやく配置したいなにて、「Simulinkブロックをすばやく配置するツールを作ってみようかな」と書きました。それに対し通りすがりのSL初心者様から、右クリックメニューを拡張してブロックをすばやく配置するためのスクリプトをコメント欄にいただきました。(すばらしい!) おかげさまで、とりあえずの形まで出来ましたので公開してみます。 名前は、「 Block Placer 」と