主要内容

转换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包含一个条件如果- - - - - -其他的语句的输出取决于输入的校验。

将这个脚本转换为流程图和图形功能:

  1. 打开一个新的独立的图表。

    编辑hailstone.sfx
  2. 状态图选项卡上,选择模式>选择文件

  3. 在对话框中,选择并单击MATLAB脚本开放。模式向导添加一个流程图Stateflow图表和图形功能。双击图形函数查看其内容。

    从MATLAB脚本自动生成的流程图。

  4. 符号窗格中,单击解决未定义的符号。Stateflow编辑器解决uy作为本地数据。

  5. 保存您的图表。

  6. 执行图从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
  7. 点击停止

你可以复制生成流程图粘贴在其他图表和图形功能,包括在模型Stateflow图表金宝app®模型。如果你的MATLAB代码使用限制模型的代码生成功能,您必须修改流程图行动之前模拟图。金宝app有关更多信息,请参见调用外部MATLAB函数在Stateflow图表

请注意

假设您使用输入参数个数在MATLAB函数转换为图形函数在一个图表。因为输入参数个数统计图表对象的图形函数的输入参数,的价值输入参数个数在图形函数的值等于1 +输入参数个数在最初的MATLAB函数。有关更多信息,请参见执行一个单独的表

相关的话题