MATLAB System ブロックの外観のカスタマイズ
この例では、MATLAB System ブロックの外観をカスタマイズする方法を示します。モデルには 3 つの MATLAB System ブロックが含まれています。最初のブロックでは、ブロックの外観がカスタマイズされていません。既定で System object™ の名前がブロックに表示されています。端子ラベルは、System object の stepImpl メソッドの引数名で提供されたものです。2 番目のブロックでは、カスタム テキストとカスタム端子ラベルがブロック アイコンに表示されています。3 番目のブロックにはカスタム ブロック アイコンのイメージが表示されます。

System object
System object を使用すると、MATLAB® でのアルゴリズムの実装が可能になります。System object は入力が時間経過とともに変化する動的システムを実装およびシミュレーションするために特別に設計された、特殊な種類の MATLAB オブジェクトです。
System object を定義すれば、MATLAB System ブロックを使用してそれを Simulink® モデルに含めることができます。
System object クラスの定義
ブロック ダイアログで [ソース コード] ハイパーリンクをクリックすることで、MATLAB System ブロックのソース コードにアクセスできます。最初のブロックで使用される 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