このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
MATLAB System ブロックの外観のカスタマイズ
この例では、MATLAB System ブロックの外観をカスタマイズする方法を示します。
System object
System object を使用すると、MATLAB でのアルゴリズムの実装が可能になります。System object は入力が時間経過とともに変化する動的システムを実装およびシミュレーションするために特別に設計された、特殊な種類の MATLAB オブジェクトです。
System object を定義すれば、MATLAB System ブロックを使用してそれを Simulink モデルに含めることができます。
モデルの説明
このモデルには 3 つの MATLAB System ブロックがあります。最初のブロックでは、ブロックの外観がカスタマイズされておらず、既定で System object の名前がブロックに表示されます。このブロックの端子ラベルは、System object の stepImpl
メソッドで引数名から取得されます。2 番目のブロックでは、カスタム テキストとカスタム端子ラベルがブロック アイコンに表示されます。3 番目のブロックにはカスタム ブロック アイコンのイメージが表示されます。
System object クラスの定義
ブロック ダイアログで "Source code" ハイパーリンクをクリックすることで、MATLAB System ブロックによって使用される MATLAB ソース コードにアクセスできます。最初のブロックで使用される System object TimesTwo
はカスタマイズされず、stepImpl
メソッドのみを実装します。System object CustomBlockIconExample
は、ブロックの外観をカスタマイズするために次のメソッドを実装します。
getInputNamesImpl
- 入力端子のラベルをカスタマイズgetOutputNamesImpl
- 出力端子のラベルをカスタマイズgetIconImpl
- ブロックにテキストまたはイメージを表示
System object には DisplayImage
プロパティがあり、テキストとイメージのどちらかを選択してブロックに表示できます。
TimesTwo
System object
classdef TimesTwo < matlab.System %TimesTwo Multiply input by 2 % obj = TimesTwo returns a System object, obj, that % multiples its input by two. methods(Access = protected) function y = stepImpl(~, u) y = 2 * u; end end end
CustomBlockIconExample
System object
classdef CustomBlockIconExample < matlab.System % SystemObjectBlockIconExample Customize Block Icon properties(Nontunable) % DisplayImage Select to display image as block icon DisplayImage (1,1) logical = false end methods(Access = protected) function y = stepImpl(~, u) y = u; end function inputName = getInputNamesImpl(~) inputName = "MyIn"; end function outputName = getOutputNamesImpl(~) outputName = "MyOut"; end function icon = getIconImpl(obj) % Return text or image to be displayed on the block icon % Use array of strings to display multiple lines of text if obj.DisplayImage % Display image icon = matlab.system.display.Icon('slexngc6543aPix.jpg'); else % Display text icon = ["Block icon", "with custom text"]; end end end end
参考
matlab.system.display.Icon
| getIconImpl
| MATLAB System