使用构型向导创建流程图
构型向导是一个实用工具,可生成常见流程图样式,用在图形函数和图中。相比手动创建流程图,构型向导具有以下优势。构型向导:
生成常见逻辑和迭代循环模式。
提升模式间的几何结构和布局的一致性。
便于从一个中心位置存储和重用模式。
允许在现有流程图中插入模式。
构型向导生成流程图,其几何结构和布局符合 mathworks 咨询委员会 (mab) 的规范。您可以通过修改条件和动作或插入额外的逻辑模式来自定义流程图。您还可以在构型向导中将流程图保存为自定义模式,以便以后重用。
例如,假设您要使用构型向导创建一个图形函数,用于在二维矩阵的上三角中进行迭代。该函数由两个嵌套的 for
循环组成,其中行索引 i
始终小于或等于列索引 j
。通过使用构型向导,您可以:
为对行索引
i
进行迭代的外部循环创建一个流程图。请参阅创建可重用的流程图。插入对列索引
j
进行迭代的内部循环以扩展该流程图。请参阅在现有流程图中插入逻辑模式。在构型向导中将流程图保存为自定义模式。请参阅保存自定义流程图模式。
在一个图形函数中重用该自定义模式。请参阅重用自定义流程图模式。
创建可重用的流程图
要创建流程图,请在建模选项卡上,从构型库中选择一种模式。模式选项包括:
if、if-else、if-elseif 及其他嵌套决策模式。
for、while 和 dowhile 循环模式。
switch 模式:最多包含 4 个 case。
自定义模式:您保存的自定义模式,供以后重用。
您在 matlab®
.m
文件中定义的模式。
“构型”对话框提示您输入特定于所选模式的条件和动作。有关流程图模式的详细信息,请参阅构型向导生成的符合 mab 的模式。
例如,要在上三角迭代器模式中创建外部 for
循环,请执行以下操作:
在建模选项卡上,选择构型 > for 循环。
在“构型”对话框中,指定用于对矩阵的第一个维度进行迭代的初始化表达式、循环测试表达式和计数表达式:
点击确定。构型向导生成此流程图。
要完成上三角迭代器模式,请在此流程图中沿垂直转移插入第二个 for
循环。
在现有流程图中插入逻辑模式
使用构型向导向现有流程图添加循环或决策逻辑扩展。选择符合条件的垂直转移,并从构型库中选择一种模式。选项包括决策、循环和切换模式。“构型”对话框提示您输入特定于所选模式的条件和动作。
例如,要在上三角迭代器模式中添加第二个循环,请执行以下操作:
在 stateflow® 编辑器中,从外部
for
循环模式中,选择标记为{action1}
的垂直转移。在建模选项卡上,选择构型 > for 循环。
在“构型”对话框中,指定用于对矩阵的第二个维度进行迭代的初始化表达式、循环测试表达式和计数表达式。初始化表达式确保 i 永远不会超过 j。此外,输入一个动作来检索矩阵的上三角中的每个元素。
点击确定。构型向导将第二个循环添加到流程图。
保存包含模式的模型。
插入逻辑模式的指导原则
在创建逻辑扩展时,遵循以下指导原则:
一次只能选择一个要扩展的转移。所选转移必须是垂直转移,并且具有一个目标结点。
您只能扩展由构型向导创建的流程图。
包含流程图的 stateflow 图只能包含结点和转移。图不能包含其他对象,如状态、函数或真值表。
您不能扩展自定义创建或修改过的模式。
不可以选择自定义模式作为扩展。
如果所做的选择不符合插入条件,则当您从模型库中选择一种模式时,会看到一条消息,而不是模式选项。
消息 | 问题 |
---|---|
选择垂直转移 | 尚未选择垂直转移。 |
所选转移必须是垂直转移 | 您选择了一个转移,但该转移不是垂直转移。 |
请只选择一个垂直转移 | 您选择了多个转移。 |
编辑器必须只包含转移和联接点 | 图中还有状态、函数或真值表等其他对象。 |
保存自定义流程图模式
使用构型向导集中保存流程图模式,以便轻松检索并在图形函数和图中重用。选择具有要保存的模式的流程图,然后选择构型 > 另存为构型。
例如,假设您要保存上三角迭代器模式供以后重用,请执行以下操作:
创建一个用于存储您的自定义模式的文件夹。请参阅创建自定义模式文件夹的指导原则。
在 stateflow 编辑器中,选择上三角迭代器流程图。
在建模选项卡上,选择构型 > 另存为构型。
如果您尚未指定自定义模式文件夹,构型向导会提示您选择一个文件夹。选择您创建的文件夹,然后点击选择文件夹。
根据提示,将您的模式命名为
uppertriangleiterator
,然后点击保存。构型向导在自定义模式文件夹中将模式保存为模型文件uppertriangleiterator.slx
。
注意
您可以通过构型向导来仅重用流程图本身。要重用状态和子图,请创建一个原子子图。有关详细信息,请参阅。
创建自定义模式文件夹的指导原则
构型向导使用一个扁平的文件夹来保存和检索流程图模式。
将所有流程图存储在自定义模式文件夹的顶层。不要创建子文件夹。
确保所有流程图文件都带有
.mdl
或.slx
扩展名。
更改您的自定义模式文件夹
构型向导会记忆您选择的自定义模式文件夹以供将来的会话使用。要选择不同文件夹,请使用 函数。例如,要将自定义模式文件夹设置为 c:\patterns
,请输入:
sfpref(patternwizardcustomdir=fullfile("c:","patterns"));
或者,重命名现有自定义模式文件夹,并执行以下操作之一:
将新的自定义模式保存到构型向导中。
从构型向导中重用一个现有自定义模式。
构型向导会提示您选择一个新文件夹。
重用自定义流程图模式
构型向导将您的流程图作为模型文件存储在自定义模式文件夹中。当您选择构型 > 自定义时,保存在此文件夹中的模式会出现在下拉列表中。您可以将自定义模式直接添加到图或图中的子图化图形函数。
例如,要将上三角迭代器自定义模式添加到图形函数,请执行以下操作:
从对象选项板中,将一个图形函数添加到图,如中所述。
输入此函数签名:
函数采用三个输入。function y = ut_iterator(u, numrow, numcol)
输入 描述 u
二维矩阵 numrow
矩阵中的行数 numcol
矩阵中的列数 在函数内点击右键,然后选择组和子图 > 子图。该函数显示为不透明的框。
双击子图化的函数将其打开。
从图形函数中删除默认流程图。
在建模选项卡上,选择构型 > 自定义。随后会打开一个对话框,其中列出已保存到自定义模式文件夹的所有模式。
选择上三角迭代器模式,然后点击确定。构型向导将您的自定义模式添加到图形函数。
在图形函数中,将
action1
替换为适当的动作。该动作对矩阵的每行重复一次。
构型向导生成的符合 mab 的模式
构型向导生成流程图,其几何结构和布局符合 mathworks 咨询委员会 (mab) 的规范。
决策模式
循环模式
switch 模式