このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
Stateflow.EMFunction
チャート、ステート、ボックス、または関数内の MATLAB 関数
説明
Stateflow.EMFunction
オブジェクトは、グラフィカルな Stateflow® 構造よりも MATLAB® コードを使った方が簡単に記述できるアルゴリズムのコード作成用に MATLAB 関数を作成するために使用します。代表的な使用例は、以下のとおりです。
行列指向型の計算
データの解析と視覚化
MATLAB 関数は、ステートと遷移のアクションで呼び出すことができます。詳細については、MATLAB 関数の定義による MATLAB コードの再利用を参照してください。
作成
説明
入力引数
parent
— 新しい MATLAB 関数の親
Stateflow.Chart
オブジェクト | Stateflow.State
オブジェクト | Stateflow.Box
オブジェクト | Stateflow.Function
オブジェクト
新しい MATLAB 関数の親。次のいずれかのタイプの Stateflow API オブジェクトとして指定します。
プロパティ
Stateflow API オブジェクトには、Stateflow エディターで設定した値に対応するプロパティがあります。プロパティにアクセスするかプロパティを変更するには、ドット表記を使用します。複数の API オブジェクトの複数のプロパティにアクセスするか、それらを変更するには、関数 get
および関数 set
をそれぞれ使用します。詳細については、Stateflow オブジェクトのプロパティの変更と関数の呼び出しを参照してください。
内容
Name
— MATLAB 関数の名前
""
(既定値) | string スカラー | 文字ベクトル
MATLAB 関数の名前。string スカラーまたは文字ベクトルとして指定します。
LabelString
— MATLAB 関数のラベル
"?"
(既定値) | string スカラー | 文字ベクトル
MATLAB 関数のラベル。string スカラーまたは文字ベクトルとして指定します。
Script
— MATLAB 関数のコード
string スカラー | 文字ベクトル
MATLAB 関数のコード。string スカラーまたは文字ベクトルとして指定します。複数行のコードの入力には次を使用できます。
IsExplicitlyCommented
— MATLAB 関数をコメントアウトするかどうか
false
または 0 (既定値) | true
または 1
MATLAB 関数をコメントアウトするかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティを true
に設定することは、MATLAB 関数を右クリックして [コメント アウト] を選択することと等価です。詳細については、Stateflow チャート内のオブジェクトのコメントアウトを参照してください。
IsImplicitlyCommented
— MATLAB 関数を暗黙的にコメントアウトするかどうか
true
または 1 | false
または 0
この プロパティ は読み取り専用です。
MATLAB 関数を暗黙的にコメントアウトするかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。MATLAB 関数を含むオブジェクトを明示的にコメントアウトすると、その関数は暗黙的にコメントアウトされます。MATLAB 関数が Atomic サブチャートまたは Atomic ボックスに含まれている場合、明示的にコメント化されたオブジェクトもその Atomic サブチャートまたは Atomic ボックスに含まれていない限り、このプロパティは false
になります。
IsCommented
— MATLAB 関数をコメントアウトするかどうか
true
または 1 | false
または 0
R2023a 以降
この プロパティ は読み取り専用です。
MATLAB 関数をコメントアウトするかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。IsExplicitlyCommented
または IsImplicitlyCommented
が true
の場合、このプロパティは true
になります。
CommentText
— コメント テキスト
""
(既定値) | string スカラー | 文字ベクトル
MATLAB 関数のコメント テキスト。string スカラーまたは文字ベクトルとして指定します。このプロパティは、IsExplicitlyCommented
プロパティが true
である場合にのみ適用されます。Stateflow エディターで、MATLAB 関数上のコメント バッジ をポイントすると、テキストがツールヒントとして表示されます。
IsExplicitlyCommented
プロパティを false
に設定すると、CommentText
の値は ""
に戻ります。
グラフィカルな外観
Position
— MATLAB 関数の位置とサイズ
[0 0 90 60]
(既定値) | [left top width height]
MATLAB 関数の位置とサイズ。[left top width height]
形式の 4 要素数値ベクトルとして指定します。
BadIntersection
— MATLAB 関数がボックス、ステート、または関数と交差するかどうか
true
または 1 | false
または 0
この プロパティ は読み取り専用です。
MATLAB 関数がボックス、ステート、または関数とグラフィカルに交差するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。
FontSize
— MATLAB 関数ラベルのフォント サイズ
スカラー
MATLAB 関数ラベルのフォント サイズ。スカラーとして指定します。グラフィカル関数を含むチャートの StateFont.Size
プロパティが、このプロパティの初期値を設定します。
整数および固定小数点データ
SaturateOnIntegerOverflow
— データが整数オーバーフローで飽和するかどうか
true
または 1 (既定値) | false
または 0
MATLAB 関数内のデータが整数オーバーフローで飽和するかどうか。数値あるいは logical の 1 (true
) または 0 (false
) として指定します。このプロパティが無効な場合、関数内のデータは整数オーバーフローでラップします。詳細については、チャート データの整数オーバーフローの処理を参照してください。
このプロパティは、関数を含むチャートの ActionLanguage
が "C"
である場合にのみ適用されます。それ以外の場合、データの動作はチャートの SaturateOnIntegerOverflow
プロパティの値に依存します。
EmlDefaultFimath
— 既定の fimath
プロパティ
"Same as MATLAB Default"
(既定値) | "Other:UserSpecified"
MATLAB 関数の既定の fimath
プロパティ。次のいずれかの値として指定します。
"Same as MATLAB Default"
— 現在の既定のfimath
オブジェクトと同じfimath
プロパティを使用します。"Other:UserSpecified"
—InputFimath
プロパティを使用して既定のfimath
オブジェクトを指定します。
このプロパティは、関数を含むチャートの ActionLanguage
が "C"
である場合にのみ適用されます。それ以外の場合、データの動作はチャートの EmlDefaultFimath
プロパティの値に依存します。
InputFimath
— 既定の fimath
オブジェクト
string スカラー | 文字ベクトル
既定の fimath
オブジェクト。string スカラーまたは文字ベクトルとして指定します。MATLAB 関数の EmlDefaultFimath
プロパティが "Other:UserSpecified"
である場合、このプロパティを使用して次のことが可能です。
fimath
オブジェクトを構成する式を入力。fimath
オブジェクトの変数名を MATLAB またはモデル ワークスペースに入力。
このプロパティは、関数を含むチャートの ActionLanguage
が "C"
である場合にのみ適用されます。それ以外の場合、データの動作はチャートの InputFimath
プロパティの値に依存します。
コード生成
InlineOption
— 生成コード内での外観
"Auto"
(既定値) | "Function"
| "Inline"
生成コード内での MATLAB 関数の外観。次のいずれかの値として指定します。
"Auto"
— 内部計算により、生成コード内の関数の外観が決まります。"Function"
— 関数は別個の C 関数として実装されます。"Inline"
— 関数に対する呼び出しがコードで置き換えられます。ただし、関数が再帰の一部でない場合に限ります。
詳細については、ステート関数の生成コード内インライン化 (Simulink Coder)を参照してください。
階層
Chart
— MATLAB 関数を含むチャート
Stateflow.Chart
オブジェクト
この プロパティ は読み取り専用です。
MATLAB 関数を含むチャート。Stateflow.Chart
オブジェクトとして指定します。
Subviewer
— MATLAB 関数のサブビューアー
Stateflow.Chart
オブジェクト | Stateflow.State
オブジェクト | Stateflow.Box
オブジェクト | Stateflow.Function
オブジェクト
この プロパティ は読み取り専用です。
MATLAB 関数のサブビューアー。Stateflow.Chart
、Stateflow.State
、Stateflow.Box
、Stateflow.Function
のいずれかのオブジェクトとして指定します。サブビューアーは、MATLAB 関数をグラフィカルに表示できるチャートまたはサブチャートです。
Machine
— MATLAB 関数を含むマシン
Stateflow.Machine
オブジェクト
この プロパティ は読み取り専用です。
MATLAB 関数を含むマシン。Stateflow.Machine
オブジェクトとして指定します。
Path
— モデルの階層構造における親の場所
文字ベクトル
この プロパティ は読み取り専用です。
モデルの階層構造における MATLAB 関数の親の場所。文字ベクトルとして指定します。
識別
Description
— 説明
""
(既定値) | string スカラー | 文字ベクトル
MATLAB 関数の説明。string スカラーまたは文字ベクトルとして指定します。
Document
— ドキュメント リンク
""
(既定値) | string スカラー | 文字ベクトル
MATLAB 関数のドキュメント リンク。string スカラーまたは文字ベクトルとして指定します。
Tag
— ユーザー定義のタグ
[]
(既定値) | 任意のデータ型
MATLAB 関数のユーザー定義のタグ。任意の型のデータとして指定します。
SSIdNumber
— セッションに依存しない識別子
スカラー
この プロパティ は読み取り専用です。
セッションに依存しない識別子。整数スカラーとして指定します。このプロパティを使用して、MATLAB 関数をモデル内の他のオブジェクトと区別します。
Id
— 一意の識別子
スカラー
この プロパティ は読み取り専用です。
一意の識別子。整数スカラーとして指定します。SSIdNumber
とは異なり、このプロパティの値は新しい MATLAB セッションを開始するたびに再割り当てされ、オブジェクトが削除されるとリサイクルされる場合があります。
オブジェクト関数
find | 階層内で指定したオブジェクトの識別 |
getChildren | オブジェクトの子の特定 |
getParent | オブジェクトの親の特定 |
getReferences | シンボル名への参照の特定 |
renameReferences | シンボル名の変更とそのシンボル名への参照の更新 |
commentedBy | グラフィカル オブジェクトを暗黙的にコメントアウトするオブジェクトの特定 |
dialog | プロパティ ダイアログ ボックスを開く |
view | 編集環境でオブジェクトを表示 |
highlight | グラフィカル オブジェクトの強調表示 |
fitToView | グラフィカル オブジェクトの拡大表示 |
例
チャートへの MATLAB 関数の追加
チャート ch
に MATLAB 関数を追加します。ラベルは "[y1,y2] = f(x1,x2,x3)"
に設定します。
function = Stateflow.EMFunction(ch); function.LabelString = "[y1,y2] = f(x1,x2,x3)";
バージョン履歴
R2006a より前に導入R2023a: 新しいオブジェクト関数とプロパティ
Stateflow.EMFunction
オブジェクトに、次の新しいオブジェクト関数とプロパティが追加されました。
オブジェクト関数
getReferences
は、チャートが MATLAB 関数の名前を参照している場所を返します。オブジェクト関数
renameReferences
は、MATLAB 関数の名前を変更し、チャート内のその関数名への参照をすべて更新します。オブジェクト関数
commentedBy
は、MATLAB 関数をコメントアウトさせる明示的にコメント化されたオブジェクトを特定します。プロパティ
IsCommented
は、MATLAB 関数をコメントアウトするかどうかを示します。このプロパティは、オブジェクト関数isCommented
を置き換えるものです。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)