主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

パターンウィザードを使用したフローチャートの作成

パターンウィザードは,グラフィカル関数やチャートで使用される一般的なフローチャートパターンを生成する,ユーティリティです。パターンウィザードには,フローチャートを手作業で作成する場合よりも優れた点がいくつかあります。パターンウィザードでは次のことが可能です。

  • 一般的なロジックや反復ループのパターンの生成

  • パターン間における形状とレイアウトの一貫性の促進

  • 主要な場所へのパターンの保存と再利用の促進

  • 既存のフローチャートへのパターンの挿入

パターンウィザードでは,MathWorks顾问委员会(MAB)のガイドラインに準拠する形状とレイアウトをもつフローチャートが生成されます。条件やアクションを変更したり,追加のロジックパターンを挿入したりすることでフローチャートをカスタマイズできます。また,後から再利用できるように,フローチャートをカスタムパターンとしてパターンウィザードに保存することもできます。

たとえば,パターンウィザードを使用して2次元行列の上三角部分を反復するためのグラフィカル関数を作成するとします。関数は2つの入れ子にされたループで構成されており,その中で,行インデックスは常に列インデックスj以下です。パターンウィザードを使用すると,以下のことが可能です。

  1. 行インデックスを反復する外部ループのフローチャートを作成再利用可能なフローチャートの作成を参照してください。

  2. 列インデックスjを反復する内部ループを挿入することによってフローチャートを拡張既存のフローチャートへのロジックパターンの挿入を参照してください。

  3. フローチャートをカスタムパターンとしてパターンウィザードに保存フローチャートのカスタムパターンの保存を参照してください。

  4. グラフィカル関数でカスタムパターンを再利用フローチャートのカスタムパターンの再利用を参照してください。

再利用可能なフローチャートの作成

フローチャートを作成するには,[モデル化)タブの[パターン]ギャラリーからパターンを選択します。パターンの選択肢は次のとおりです。

  • (如果)(if - else)(If-Elseif)およびその他の入れ子形式の判定パターン。

  • [,](虽然)および(DoWhile)の各ループパターン。

  • 最大4つのケースをもつスイッチパターン。

  • 後で再利用するために保存したカスタムパターン。

  • MATLAB®00ファイルで定義されるパターン。

[パターン]ダイアログボックスに,選択したパターンに固有の条件およびアクションを指定する画面が表示されます。フローチャートのパターンの詳細については,パターンウィザードから生成される马伯準拠のパターンを参照してください。

たとえば,上三角部分の反復子パターンで外部ループを作成するには,次を行います。

  1. [モデル化)タブで[パターン](ループ]を選択します。

  2. [パターン]ダイアログボックスで,行列の1次元目を反復するための初期化子,ループテストおよびカウント式を指定します。

  3. (好的)をクリックします。パターンウィザードで次のフローチャートが生成されます。

上三角部分の反復子パターンを完成させるには,2つ目のループを,このフローチャートの垂直方向の遷移に沿って挿入します。

既存のフローチャートへのロジックパターンの挿入

パターンウィザードを使用して,既存のフローチャートにループまたは判定ロジックの拡張を追加します。使用可能な垂直方向の遷移を選択して,[パターン]ギャラリーからパターンを選択します。オプションには判定,ループおよびスイッチのパターンがあります。[パターン]ダイアログ ボックスに、選択したパターンに固有の条件およびアクションを指定する画面が表示されます。

たとえば,上三角部分の反復子パターンに2つ目のループを追加するには,次を行います。

  1. Stateflow®エディターで,外部のループパターンから,{action1}というラベルの付いた垂直方向の遷移を選択します。

  2. [モデル化)タブで[パターン](ループ]を選択します。

  3. [パターン]ダイアログボックスで,行列の2次元目を反復するための初期化子,ループテストおよびカウント式を指定します。我初期化式によりがjを超えないことが確実になります。さらに,行列の上三角部分の各要素を取得するアクションも入力します。

  4. (好的)をクリックします。パターンウィザードにより,フローチャートに2つ目のループが追加されます。

  5. パターンを含むモデルを保存します。

ロジックパターン挿入のガイドライン

ロジック拡張を作成する際は,次に従ってください。

  • 拡張する遷移は一度に1つだけ選択できます。選択する遷移は,厳密に垂直方向で,遷移先のジャンクションをもっていなければなりません。

  • 拡張できるのはパターンウィザードで作成したフローチャートのみです。

  • フローチャートを含むStateflowチャートには,ジャンクションと遷移のみを含めることができます。このチャートには,ステート,関数,真理値表など,その他のオブジェクトを含めることはできません。

  • カスタムに作成または変更されたパターンは拡張できません。

  • カスタムパターンは拡張として選択できません。

選択したものが挿入に適さない場合,[パターン]ギャラリーからパターンを選択したときに,パターンオプションではなくメッセージが表示されます。

メッセージ 問題点
垂直方向の遷移を選択してください 垂直方向の遷移が選択されていません。
選択した遷移は厳密に垂直方向でなければなりません 遷移を選択しましたが,垂直方向ではありません。
垂直方向の遷移を1つだけ選択してください 複数の遷移を選択しました。
エディターには遷移とジャンクションのみが含まれなければなりません ステート,関数,または真理値表など,他のオブジェクトがチャート内にあります。

フローチャートのカスタムパターンの保存

パターンウィザードを使用してフローチャートのパターンを主要な場所に保存すると,その後簡単に取得してグラフィカル関数やチャートで再利用できます。保存するパターンをもつフローチャートを選択して,[パターン][パターンとして保存)を選択します。

たとえば,後から再利用するために上三角部分の反復子パターンを保存するとします。

  1. カスタムパターンを保存するフォルダーを作成します。カスタムパターンフォルダー作成のガイドラインを参照してください。

  2. Stateflowエディターで,上三角部分の反復子のフローチャートを選択します。

  3. [モデル化)タブで[パターン][パターンとして保存)を選択します。

  4. カスタムパターンフォルダーをまだ指定していない場合は,フォルダーの選択を求める画面がパターンウィザードに表示されます。作成したフォルダーを選択して[フォルダーの選択]をクリックします。

  5. プロンプトで,パターンの名前UpperTriangleIteratorを指定し,[保存]をクリックします。パターンウィザードにより,パターンがモデルファイルUpperTriangleIterator.slxとしてカスタムパターンフォルダーに保存されます。

メモ

パターンウィザードを使用して再利用できるのはフローチャートのみです。ステートやサブチャートを再利用するには,原子サブチャートを作成します。詳細については,原子サブチャート使用した再利用可能なサブコンポーネントの作成を参照してください。

カスタムパターンフォルダー作成のガイドライン

パターンウィザードでは,フローチャートパターンの保存と取得に,単一のフラットフォルダーが使用されます。

  • フローチャートはすべてカスタムパターンフォルダーの最上位に保存します。サブフォルダーは作成しないでください。

  • すべてのフローチャートファイルに. mdlまたは.slxの拡張子が付くことを確認します。

カスタムパターンフォルダーの変更

パターンウィザードでは,選択したカスタムパターンフォルダーが今後のセッションのために記憶されます。別のフォルダーを選択するには,既存のカスタムパターンフォルダーの名前を変更して,次のいずれかを行います。

  • 新しいカスタムパターンをパターンウィザードに保存

  • パターンウィザードの既存のカスタムパターンを再利用

新しいフォルダーの選択を求める画面がパターンウィザードに表示されます。

フローチャートのカスタムパターンの再利用

パターンウィザードでは,フローチャートはモデルファイルとしてカスタムパターンフォルダーに保存されます。このフォルダーに保存したパターンは,[パターン][カスタム]を選択するとドロップダウンリストに表示されます。カスタムパターンは,チャートに直接追加するか,チャート内のサブチャート化したグラフィカル関数に追加できます。

たとえば,上三角部分の反復子のカスタムパターンをグラフィカル関数に追加するには,次を行います。

  1. オブジェクトパレットから,グラフィカル関数の定義の説明に従ってグラフィカル関数をチャートに追加します。

  2. 次の関数シグネチャを入力します。

    函数y = ut_iterator(u, numrow, numcol)
    この関数は以下の3つの入力をとります。

    入力 説明
    u 2 次元行列
    numrow 行列の行数
    numcol 行列の列数

  3. 関数を右クリックし,[グループとサブチャート][サブチャート]を選択します。関数は不透明なボックスとして表示されます。

  4. サブチャート化した関数をダブルクリックして開きます。

  5. グラフィカル関数から既定のフローチャートを削除します。

  6. [モデル化)タブで[パターン][カスタム]を選択します。ダイアログボックスが開き,カスタムパターンフォルダーに保存されているすべてのパターンの一覧が表示されます。

  7. 上三角部分の反復子パターンを選択し,(好的)をクリックします。カスタムパターンがグラフィカル関数に追加されます。

  8. グラフィカル関数で,action1を,適切なアクションに置き換えます。このアクションは,行列の行ごとに1回ずつ繰り返されます。

パターンウィザードから生成される马伯準拠のパターン

パターンウィザードでは,MathWorks顾问委员会(MAB)のガイドラインに準拠する形状とレイアウトをもつフローチャートが生成されます。

判定パターン

如果

if - else

If-Elseif

If-Elseif-Else

If-Elseif-Elseif-Else

入れ子形式の如果

ループパターン

对于ループ

虽然ループ

DoWhileループ

开关パターン

2つのケース

3つのケース

4つのケース

関連するトピック