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