主要内容

使用模式向导创建流程图

模式向导是一个生成通用流程图模式的实用程序,用于图形函数和图表。与手动创建流程图相比,模式向导提供了几个优势。模式向导:

  • 生成通用逻辑和迭代循环模式。

  • 促进图形和布局的一致性。

  • 便于从中心位置存储和重用模式。

  • 允许在现有流程图中插入模式。

模式向导生成流程图,其几何形状和布局符合来自MathWorks Advisory Board (MAB)的指导方针。您可以通过修改条件和操作或插入额外的逻辑模式来定制流程图。您还可以在模式向导中将流程图保存为自定义模式,以便以后重用。

例如,假设您希望使用Pattern Wizard创建一个图形函数,用于在二维矩阵的上三角形上进行迭代。该函数由两个嵌套函数组成行索引所在的循环总是小于或等于列索引j.通过使用模式向导,您可以:

  1. 为遍历行索引的外部循环创建流程图.看到创建可重用流程图

  2. 通过插入在列索引上迭代的内部循环,扩展流程图j.看到在现有流程图中插入逻辑模式

  3. 在模式向导中将流程图保存为自定义模式。看到保存自定义流程图模式

  4. 在图形函数中重用自定义模式。看到重用自定义流程图模式

创建可重用流程图

要创建流程图,请在建模选项卡中选择一个模式模式画廊。模式的选择包括:

  • 如果if - elseIf-Elseif,以及其他嵌套决策模式。

  • ,DoWhile循环模式。

  • 最多四种情况切换模式。

  • 保存以供以后重用的自定义模式。

  • 你在MATLAB中定义的模式®.m文件。

Pattern对话框提示您提供特定于所选模式的条件和操作。有关流程图模式的更多信息,请参见模式向导中的mab兼容模式

例如,要创建外层在上三角形迭代器模式中循环:

  1. 建模选项卡上,选择模式>For循环

  2. 在Pattern对话框中,指定初始化式、循环测试和用于遍历矩阵第一维的计数表达式:

  3. 点击好吧.模式向导生成此流程图。

要完成上三角形迭代器模式,请插入第二个迭代器沿着流程图中的垂直过渡循环。

在现有流程图中插入逻辑模式

使用模式向导向现有流程图添加循环或决策逻辑扩展。选择一个合适的垂直过渡,并从模式画廊。选项包括决策、循环和切换模式。Pattern对话框提示您提供特定于所选模式的条件和操作。

例如,要在上三角形迭代器模式中添加第二个循环:

  1. 在Stateflow®编辑,来自外部循环模式,选择垂直过渡标记{action1}

  2. 建模选项卡上,选择模式>For循环

  3. 在Pattern对话框中,指定遍历矩阵第2维的初始化式、循环测试和计数表达式。初始化表达式确保了这一点从来没有超过j.还要输入一个操作来检索矩阵上三角形中的每个元素。

  4. 点击好吧.模式向导将第二个循环添加到流程图中。

  5. 保存包含模式的模型。

插入逻辑模式的指南

当你创建逻辑扩展时:

  • 一次只能选择一个要扩展的转换。所选的过渡必须完全垂直,并且有一个目标结点。

  • 您只能扩展由模式向导创建的流程图。

  • 包含流程图的状态流程图只能包含连接和转换。图表不能包含其他对象,如状态、函数或真值表。

  • 不能扩展已自定义创建或修改的模式。

  • 您不能选择自定义模式作为扩展。

如果您的选择不符合插入条件,当您从模式,您将看到一条消息而不是模式选项。

消息 问题
选择垂直过渡 您没有选择垂直转换。
所选的过渡必须完全垂直 您选择了一个过渡,但它不是垂直的。
只选择一个垂直转换 您选择了多个转换。
编辑器必须只包含转换和连接 图表中还有其他对象,如状态、函数或真值表。

保存自定义流程图模式

使用模式向导将流程图模式保存在中心位置,然后轻松地检索它们,以便在图形函数和图表中重用。选择要保存和选择的模式的流程图模式>另存为模式

例如,假设你想保存上三角形迭代器模式以供以后重用:

  1. 创建用于存储自定义模式的文件夹。看到创建自定义模式文件夹的指南

  2. 在状态流编辑器中,选择上面的三角形迭代器流程图。

  3. 建模选项卡上,选择模式>另存为模式

  4. 如果您没有指定自定义模式文件夹,模式向导会提示您选择一个文件夹。选择您创建的文件夹并单击选择文件夹.控件还可以设置模式向导保存到的默认目录sfpref通过使用函数“PatternWizardCustomDir”作为第一个论点。有关更多信息,请参见sfpref

  5. 在提示符下,命名您的模式UpperTriangleIterator并点击保存.模式向导将模式保存为模型文件UpperTriangleIterator.slx在自定义模式文件夹中。

请注意

您可以使用模式向导只重用流程图。要重用状态和子图表,请创建原子子图表。有关更多信息,请参见通过使用原子子图创建可重用子组件

创建自定义模式文件夹的指南

模式向导使用一个单一的扁平文件夹来保存和检索流程图模式。

  • 将所有流程图存储在自定义模式文件夹的顶层。不要创建子文件夹。

  • 确保所有的流程图文件都有. mdl.slx扩展。

更改自定义图案文件夹

模式向导将记住您为将来会话选择的自定义模式文件夹。要选择不同的文件夹,请重命名现有的自定义模式文件夹,并执行以下操作之一:

  • 将新的自定义模式保存到模式向导。

  • 重用模式向导中的现有自定义模式。

模式向导会提示您选择一个新文件夹。

重用自定义流程图模式

模式向导将流程图存储为自定义模式文件夹中的模型文件。当您选择时,保存在此文件夹中的模式将出现在下拉列表中模式>自定义.您可以将自定义模式直接添加到图表或图表中的子图表函数中。

例如,要将上三角形迭代器自定义模式添加到图形函数中:

  1. 从对象面板中向图表添加一个图形函数,如中所述定义图形函数

  2. 输入此功能签名:

    函数y = ut_iterator(u, numrow, numcol)
    该函数有三个输入。

    输入 描述
    u 二维矩阵
    numrow 矩阵的行数
    numcol 矩阵的列数

  3. 在函数内部单击右键并选择组和子图表>子图表.该函数显示为一个不透明的框。

  4. 双击子图表函数以打开它。

  5. 从图形函数中移除默认流程图。

  6. 建模选项卡上,选择模式>自定义.将打开一个对话框,其中列出已保存在自定义模式文件夹中的所有模式。

  7. 选择上面的三角形迭代器模式并单击好吧.模式向导将自定义模式添加到图形函数中。

  8. 在图形函数中,代替action1,替代一个适当的行动。这个动作对矩阵的每一行重复一次。

模式向导中的mab兼容模式

模式向导生成流程图,其几何形状和布局符合来自MathWorks Advisory Board (MAB)的指导方针。

决策模式

如果

if - else

If-Elseif

If-Elseif-Else

If-Elseif-Elseif-Else

如果嵌套

循环模式

For循环

While循环

DoWhile循环

开关模式

两种情况

三个案例

4例

相关的话题