转换MATLAB代码Stateflow流程图
将你的MATLAB®代码Stateflow®流程图和图形功能,使用模式向导。金宝app支持转换的模式包括:
如果
,if - else
和其他嵌套语句的决定。为
和而
循环。开关
语句。
模式向导可以转换MATLAB函数和脚本。
MATLAB函数转换为Stateflow图形函数。
MATLAB脚本转换为Stateflow流程图。
将MATLAB代码只支持在独立Stateflow图表金宝app。有关更多信息,请参见为执行为MATLAB对象创建Stateflow图表。
创建流程图MATLAB脚本
这个MATLAB脚本经验验证Collatz猜想的一个实例。当考虑到数字输入u
,脚本计算冰雹序列n0=u
,n1,n2,n3,⋯通过迭代规则:
如果n我是偶数,那么n我+ 1=n我/ 2。
如果n我是奇数,那么n我+ 1= 3n我+ 1。
Collatz猜想,每一个正整数都有冰雹,最终达到一个序列。
% u,冰雹序列c (u), c (c (u)),…y = u;而y(结束)~ = 1 y(结束+ 1)= c (y(结束));结束disp (y);函数n = c (n)%计算在冰雹下一个数字序列。%如果n是偶数,那么c (n) = n / 2。%如果n是奇数,那么c (n) = 3 * n + 1。如果快速眼动(n, 2) = = 0 n = n / 2;其他的n = 3 * n + 1;结束结束
而
循环反复调用辅助函数c
直到它产生的输出值。这个函数c
包含一个条件如果
- - - - - -其他的
语句的输出取决于输入的校验。
将这个脚本转换为流程图和图形功能:
打开一个新的独立的图表。
编辑hailstone.sfx
在状态图选项卡上,选择模式>选择文件。
在对话框中,选择并单击MATLAB脚本开放。模式向导添加一个流程图Stateflow图表和图形功能。双击图形函数查看其内容。
在符号窗格中,单击解决未定义的符号。Stateflow编辑器解决
u
和y
作为本地数据。保存您的图表。
执行图从Stateflow编辑器,符号面板中,输入一个值
u
= 9并点击运行。执行流程图时,Stateflow编辑强调了积极转换通过图表动画。当执行停止,MATLAB命令窗口显示冰雹序列,从九的价值:9 28 14 7 22日11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
点击停止。
你可以复制生成流程图粘贴在其他图表和图形功能,包括在模型Stateflow图表金宝app®模型。如果你的MATLAB代码使用限制模型的代码生成功能,您必须修改流程图行动之前模拟图。金宝app有关更多信息,请参见调用外部MATLAB函数在Stateflow图表。