转换您的MATLAB®将代码转换为Stateflow®流程图和图形功能,请使用模式向导。支持的转换模式包括:金宝app
如果
,否则
,以及其他嵌套的决策语句。
对于
和而
循环。
开关
声明。
模式向导可以转换MATLAB函数和脚本。
将MATLAB函数转换为状态流图形函数。
MATLAB脚本转换为statflow流程图。
仅在独立状态流程图中支持转换MATLAB代码。有关详金宝app细信息,请参阅创建状态流程图以作为MATLAB对象执行.
这个MATLAB脚本经验地验证了Collatz猜想的一个实例。当给定数字输入时U
,脚本计算冰雹序列N0=U
,N1.,N2.,N3.,⋯通过迭代此规则:
如果N我那么是平的吗N我+ 1=N我/2.
如果N我那就奇怪了N我+ 1= 3N我+ 1.
Collatz猜想指出,每个正整数都有一个冰雹序列,最终达到1。
%冰雹序列u,c(u),c(c(u)),。。。y=[u];而y(end)~=1y(end+1)=c(y(end));终止disp(y);函数n = c (n)%计算冰雹序列中的下一个数字。%如果n是偶数,那么c(n)=n/2。%如果n是奇数,那么c(n)=3*n+1。如果rem(n,2)==0n=n/2;其他的n=3*n+1;终止终止
而
重复调用辅助函数的循环C
直到它的输出值为1。这个函数C
由条件语句组成如果
-其他的
语句,其输出取决于输入的奇偶性。
要将此脚本转换为流程图和图形函数,请执行以下操作:
打开一个新的独立图表。
编辑冰雹
上状态图选项卡,选择图案>选择文件.
在对话框中,选择MATLAB脚本并单击打开. 模式向导将流程图和图形函数添加到状态流程图中。双击图形函数以查看其内容。
在“符号”窗格中,单击解决未定义的符号. Stateflow编辑器解析U
和Y
作为本地数据。
保存图表。
要从状态流编辑器执行图表,请在“符号”窗格中输入值U
= 9点击跑. 执行流程图时,Stateflow编辑器通过图表动画突出显示活动的转换。当执行停止时,MATLAB命令窗口显示冰雹序列,从值9开始:
9 28 14 7 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1
点击停止.
您可以复制生成的流程图和图形函数,并将它们粘贴到其他图表中,包括Simulink中的状态流程图金宝app®模型。如果MATLAB代码使用Simulink中的代码生成功能受限,则必须在模拟图表之前修改流程图操作。有关详细信息,请参阅金宝app在状态流图中调用MATLAB外部函数.