主要内容

执行Stateflow图通过脚本和对象模型

一个独立的Stateflow®图是一个MATLAB®类定义了有限状态机的行为。独立的图表与MATLAB实现经典图表语义动作语言。可以程序图通过使用MATLAB的全部功能,包括那些功能限制模型的代码生成金宝app®。有关更多信息,请参见为执行为MATLAB对象创建Stateflow图表

这个例子展示了如何执行独立Stateflow图表使用MATLAB脚本或仿真软件模型。金宝app

计数方法,使汇率变化

该文件sf_change.sfx定义了一个独立的Stateflow图表,统计方法的数量给定数量的钱找零钱。图表包含这些数据对象:

  • x的钱改变。默认值是100。

  • coinValues是一个向量的硬币面额安排在增加订单。coinNames是一个数组对应的硬币的名字。默认值是标准的美国硬币(硬币,硬币,硬币和季度)。

  • 理货是有效的数量改变配置。

  • 横膈是一个数组,包含不同的有效改变配置。

  • chg,完成,,n使用的是本地数据change-counting算法。

  • textWidthquietMode本地数据,控制图表的方式显示其结果。

图表开始与一个潜在的变化完全配置组成的最小值硬币,由索引指定的1。在每个执行步骤,状态交换修改这个配置两种方式中的一种:

  • 的亚态move_up交流一些最小值硬币一枚硬币价值更高,指定的索引

  • 的亚态move_down交流的所有硬币由索引指定的值为最小值的硬币。然后move_up交流一些最小值硬币一枚硬币和一个值指定的索引我+ 1或更高版本。

可能改变配置时是有效的最小值所代表的美分硬币的数量是整除的价值类型的硬币。当遇到一个新的有效配置的图表,它的增量理货和附加新的配置横膈

当没有更多的硬币交流是可能的,停止变得活跃。这种状态输出的结果计算,转换的内容横膈一个表,设置的值完成真正的

执行单独的表中MATLAB脚本

运行change-counting算法来完成,你必须多次执行独立的图。例如,MATLAB脚本sf_change_script.m创建一个图表对象chartObj初始化本地数据的价值x27。配置选项“-warningOnUninitializedData”集的脚本,消除了警告横膈新图表是一个空数组对象。的循环执行到本地数据的图表完成就变成了真正的。最后,脚本将显示的值横膈

chartObj = sf_change (“x”27岁的“-warningOnUninitializedData”、假);~ chartObj。完成一步(chartObj);结束disp (chartObj.tabula)
当您运行这个脚本时,独立的图计算方法,使变化的数量为27美分美国硬币使用标准:
sf_change_script
.............有13个方法使换27美分。便士硬币硬币季度____ ____ _____ ________ 27 0 0 0 22 1 0 0 17 12 2 0 0 3 0 0 7 4 0 0 2 5 0 0 17 0 1 0 12 1 1 0 7 2 1 0 2 3 1 0 7 0 2 0 2 1 2 0 2 0 0 1

确定数量的方法,使不同数量的变化,或使用不同的货币制度,改变的值xcoinValues。例如,使用英国货币,初始化coinValues[1 2 5 10 20 25 50]

执行独立的图仿真软件模型金宝app

您可以执行一个独立的Stateflow图表在仿真软件模型。金宝app例如,模型sf_change_model使用独立的包含两个Stateflow图表图sf_change计算方法的数量变化为27美分在两个不同的货币系统。你可以模拟模型,但执行的功能独立的表不支持代码生成。金宝app

每个表包含这些状态:

  • 初始化创建一个本地图对象chartObj实现change-counting输入值的算法x

  • 执行调用一步函数执行独立的图表并存储结果作为输出数据理货

  • 完成显示算法的诊断结果查看器窗口,设置输出数据的值完成真正的

当两个图表达到各自的完成状态,仿真模型的停止和显示模块显示的最终值两个记录。

执行使用MATLAB作为行动的语言

图表MATLAB的语法使用MATLAB作为行动的语言。执行独立Stateflow图表,该图表必须遵循这些指导方针:

  • 的局部变量chartObj包含图表对象的句柄类型继承:从表中定义

  • 执行完成州的本地数据访问独立图表通过调用得到函数。

当你和一个输入模拟这个图表x= 27日显示块古英语显示了一个4。诊断查看器窗口显示了这些结果:

便士先令金币累积_____ 27 15 0 0 1 0 3 2 0 3 0 1

使用C执行动作语言

图表C语法使用C作为行动的语言。执行独立Stateflow图表,该图表必须遵循这些指导方针:

  • 的局部变量chartObj包含图表对象的句柄类型毫升

  • 初始化国家电话毫升函数来创建图表对象。

  • 执行完成国家使用毫升名称空间操作符来访问一步,得到,displ函数执行独立的图表,访问其本地数据和显示结果的算法。

有关更多信息,请参见MATLAB函数和空间数据的访问在C图表

当你和一个输入模拟这个图表x= 27日显示块现代美国显示了一个13。诊断查看器窗口显示了这些结果:

安全FieldGoal着陆______替12 1 0 9 3 0 6 5 0 3 7 0 0 9 0 10 0 1 7 2 1 4 4 1 1 6 1 5 1 2 2 3 2 3 0 3 0 2 3

相关的话题