使用模式向导创建流程图
为什么使用模式向导?
模式向导是一种实用工具,它生成用于图形函数和图表的常见流程图模式。虽然您也可以手工创建流程图,但是模式向导提供了以下几个优点:
自动生成通用逻辑和迭代循环模式
生成符合MathWorks汽车咨询委员会(MAAB)指导方针的模式
促进跨模式的几何形状和布局的一致性
便于从中心位置存储和重用模式
提供在现有流图中插入模式的能力
注意:模式向导仅用于流程图,不能用于保存状态和子图。原子子图可用于重用状态和子图。 |
如何创建可重用的流程图
当您使用模式向导创建流程图时,您可以将它们保存到一个中心位置,在那里您可以检索它们以便重用。创建符合MAAB指南的可重用流程图:
打开一个图表。
选择一个流程图模式:
创建: 选择: 参考 如果
决策模式图表>在图表中添加图案>决定 为
-,而
- - - - - -,做
-而
循环模式图表>在图表中添加图案>循环 开关
模式图表>在图表中添加图案>开关 的Stateflow®出现模式对话框。
输入模式的描述(可选)。
指定条件和操作(可选)。
您还可以直接在图表中添加或更改条件和操作。
点击好吧.
模式出现在你的图表中。几何形状和布局符合MAAB指南。
根据需要定制模式。
例如,您可能想要添加或更改流程图、条件或操作。看到使用模式向导创建和重用自定义模式.
如中所述,将模式保存到中心位置保存和重用流程图模式.
现在可以直接从编辑器检索模式,以便在图形函数和图表中重用。看到如何在图形函数中添加流程图模式而且如何在图表中添加流程图模式.
使用模式向导插入逻辑模式
使用模式向导,您可以向流程图中先前创建的模式添加循环或决策逻辑扩展。选择合适的垂直过渡,然后选择图表>在选择中插入图案.选择一个决策或循环模式后,模式向导将新模式沿转换路径放置在动作下方。
当您创建逻辑扩展时,应用以下规则:
每次只选择一个要扩展的垂直过渡。
选择具有目标结点的垂直过渡。
只扩展由模式向导创建的流程图。
只扩展图表中有结点和过渡的流程图,而不扩展其他对象。
不要扩展已自定义创建或修改的模式。
您不能选择自定义模式作为扩展。
如果您的选择不合格,当您选择图表>在选择中插入图案,您将看到一条消息而不是模式选项。
消息 | 问题 |
---|---|
选择垂直过渡 | 您没有选择垂直过渡。 |
所选的过渡必须完全垂直 | 您选择了一个过渡,但它不是垂直的。 |
只选择一个垂直过渡 | 您已经选择了多个转换。 |
编辑器必须只包含过渡和连接 | 编辑器中还有其他对象,如状态、函数或真值表。 |
插入一个模式
在本例中,您添加了一个if - else
模式为而
循环体。
打开一个图表。
选择图表>在图表中添加图案>循环>而.
输入模式的描述(可选)。
指定条件和操作(可选)。
您还可以直接在图表中添加或更改条件和操作。
点击好吧.
的
而
模式出现在你的图表中。选择标记的垂直过渡
{action1}
.选择图表>在选择中插入图案>决定>if - else.
点击好吧.
的
if - else
模式被添加到而
下面的循环{action1}
.
保存和重用流程图模式
使用模式向导,您可以将流程图模式保存在一个中心位置,然后轻松地在Stateflow图形函数和图表中检索和重用它们。模式向导允许您从编辑器中访问所有保存的模式。
创建模式文件夹的指南
模式向导使用一个单一的扁平文件夹来保存和检索流程图模式。在创建模式文件夹时,请遵循以下原则:
将所有流程图存储在模式文件夹的顶层;不要创建子文件夹。
确保所有流程图文件都有一个
. mdl
或.slx
扩展。
如何保存流程图模式以方便检索
创建一个文件夹来存储您的模式创建模式文件夹的指南.
在图表中,选择要保存的模式的流程图。
选择图表>保存模式.
模式向导显示一条消息,提示您选择用于存储自定义模式的文件夹。
模式向导将流程图作为模型文件存储在模式文件夹中。选择时,保存在此文件夹中的模式将出现在下拉列表中图表>在图表中添加图案>自定义,详见如何在图形函数中添加流程图模式而且如何在图表中添加流程图模式.
点击好吧驳回该消息。
出现“浏览文件夹”对话框。
选择指定的文件夹(或新建文件夹)并单击好吧.
出现“另存模式为”对话框。
为您的模式输入一个名称并单击保存.
模式向导将模式作为模型文件保存在指定的文件夹中。
如何改变你的图案文件夹
重命名现有的模式文件夹。
中所描述的添加模式如何在图形函数中添加流程图模式或如何在图表中添加流程图模式.
模式向导提示您选择文件夹。
按照下面的说明如何保存流程图模式以方便检索.
如何在图形函数中添加流程图模式
向图表中添加图形功能。
看到创建一个图形函数.
在功能框中右键单击并选择,使图形函数成为子图表组和子图表>子图表.
功能框变为灰色。
双击子图表图形函数以打开它。
在菜单栏中,选择图表>在功能中添加图案>自定义.
出现“选择自定义模式”对话框,显示您保存的所有模式。
从对话框的列表中选择图案,单击好吧.
模式出现在图形函数中,图形函数展开以适应流程图。
在图形函数和调用它的图表中定义所有必要的输入、输出和本地数据。
如何在图表中添加流程图模式
在菜单栏中,选择图表>在图表中添加图案>自定义.
出现“选择自定义模式”对话框,显示您保存的所有模式。
从对话框的列表中选择图案,单击好吧.
模式出现在图表中。
手动调整图表到:
将流程图连接到适当的转换。
确保在每个层次结构级别上只有一个排他(OR)状态的默认转换。
定义所有必要的输入、输出和本地数据。
模式向导中的符合maab的模式
模式向导生成符合maab的流程图。
流程图中的决策逻辑模式
模式向导生成以下符合maab的决策逻辑模式:
如果
if - else
if-elseif
if-elseif-else
if-elseif-elseif-else
如果嵌套
流程图中的迭代循环模式
模式向导生成以下符合maab的迭代循环模式:
为
而
延伸的
流程图中的切换模式
模式向导生成以下符合maab的切换模式:
切换两种情况和默认
切换三种情况并默认
切换四种情况并默认
使用模式向导创建和重用自定义模式
此示例演示如何创建、修改和保存用于迭代二维矩阵上三角形的自定义流程图模式。在上面的三角形中,行索引我总是小于或等于列索引j.此流程图模式使用嵌套为
-循环以确保我从来没有超过j.
创建上三角形迭代器模式
打开一个新的(空)图表。
选择图表>在图表中添加图案>循环>为.
在Stateflow Patterns对话框中,输入用于迭代矩阵第一个维度的初始化式、循环测试和计数表达式,如下所示:
还不要指定操作。您将添加另一个循环,用于迭代矩阵的第二个维度。
点击好吧.
模式向导在图表中生成第一个迭代循环。
这种模式:
符合创建流程图的所有最佳实践,如创建流程图的最佳实践.
为条件和条件操作提供正确的语法。
添加第二个循环:
展开编辑器窗口,使图表能够容纳第二种模式。
选择已标记的垂直过渡
{action1}
.选择图表>在选择中插入图案>循环>为.
输入第二个迭代器的初始化式、循环测试和计数表达式
j
,以及一个占位符,用于检索上三角形中的每个元素,如下所示:点击好吧.模式向导将第二个循环添加到第一个循环中。
保存您的图表。
将模式保存到中心位置以便重用(参见保存上三角迭代器模式以供重用).
保存上三角迭代器模式以供重用
创建用于存储流程图模式的文件夹创建模式文件夹的指南.
打开包含自定义模式的图表。
在图表中,选择要保存的模式的流程图。
在编辑器中,选择图表>保存模式并采取其中一种行动。
如果你有… 然后模式向导… 行动 尚未指定模式文件夹 提示您创建或选择模式文件夹 选择您刚刚创建的文件夹。看到如何保存流程图模式以方便检索. 已经指定了模式文件夹 提示您将图案保存到指定的文件夹中 命名你的图案并点击保存. 模式向导自动将您的模式保存为您指定的名称下的模型文件。
在图形函数中添加上三角形迭代器模式
打开一个新的图表。
将图形函数从对象调色板拖到图表中。
输入以下函数签名:
函数y = ut_iterator(u, numrow, numcol)
这个函数有三个输入。
输入 描述 u
二维矩阵 numrow
矩阵中的行数 numcol
矩阵的列数 在函数内右键单击并选择组和子图表>子图表.
函数看起来像这个图形。
双击打开子图表函数并选择图表>在功能中添加图案>自定义.
打开“选择自定义模式”对话框,列出您保存在模式文件夹中的所有模式。
选择上三角形迭代器模式并单击好吧.
模式向导将自定义模式添加到图形函数中。
在从图表调用此函数之前,请确保根据需要修改数据名称、类型和大小,并替换适当的操作。