主要内容

为健身跟踪器建模

此示例显示如何在状态流程图和在app Designer中创建的MATLAB®应用程序之间创建接口。有关如何将状态流程图连接到MATLAB应用程序的其他示例,请参阅电动窗控制器模型模拟媒体播放器。有关此示例在MATLAB中使用独立图表的版本,请参阅使用独立图表为健身应用程序建模

在本例中,MATLAB应用程序对健身跟踪器进行建模。在模拟过程中,可以调整跟踪器的设置并选择活动(睡觉,休息,锻炼).当你选择的时候锻炼,您还可以设置训练强度。

国家流程图应用程序界面在MATLAB应用程序与Simulink®模型中的控制和设备系统之间提供双向连接。当您与应用程序中的小部件交互时,图表会将您的选择传达给模型中的其他图表。相反,图表使用健身跟踪器的输出来更新应用程序中金宝app的数字和文本字段。例如,当您单击休息应用程序上的按钮应用程序界面图表设置输出的值活动到枚举值活动,休息.这个人体模拟器图表的反应是生成生命体征值,模拟休息时的人。这个健康跟踪器图表分析这些值并设置输出信号状态活动,休息.这个应用程序界面图表监控这个信号并更新地位字段在应用程序中休息

要运行该示例,请打开Simulink模型并单击金宝app. 图表应用程序界面打开应用程序并初始化人体模拟器健康跟踪器图表。当示例运行时,一秒钟的模拟表示一分钟的练习时间。要停止模拟,请单击停止或关闭应用程序。

将图表连接到MATLAB应用程序

图表应用程序界面配置为与MATLAB应用程序通信sf_健身应用程序

  • 该应用程序使用一个名为图表与图表交互应用程序界面. 应用程序回调使用此属性读取图表输入并写入图表输出。例如,当您更改设置窗格中,回调将更新输出结构的相应字段的值阈值.同样的,当你选择一项新的活动或改变你的锻炼强度人体模拟器窗格中,回调设置图表输出的值活动强度.最后,当你关闭应用程序时,UIFigureCloseRequest回调设置图表输出的值停止真正的

  • 在图表中InterfaceWithApp运行应用程序sf_健身应用程序并将返回值存储为本地数据对象应用程序. 图表uses this local data object when it calls the helper functionsupdateStatus,更新锁定,updateText,更新标签,更新硬盘.在应用程序中,这些助手函数更改活动状态、时钟和步数计数器字段的内容,并在心跳和步数显示中创建动画效果。例如,当图表接收到通知消息,亚态主显示器调用helper函数updateText.这个函数用定制的通知替换时钟显示的内容。五秒钟后,substate调用helper函数更新锁定恢复时钟显示。

有关如何在MATLAB应用程序和状态流程图之间创建双向连接的更多信息,请参见电动窗控制器模型模拟媒体播放器

用于与应用程序交互的函数不支持代码生成,因此金宝appInterfaceWithApp州政府首先呼吁外部编码器函数将它们声明为外部MATLAB代码。有关详细信息,请参阅在状态流图中调用MATLAB外部函数

基于活动模拟生命体征

这个人体模拟器图表模拟了参与你在应用程序中选择的活动的人的生命体征。图表使用了输出结构要害将这些重要的信号传递给健身追踪器。结构的场代表你的心率、速度和你所走的步数。当你选择一个新的活动或调整你的锻炼强度时,图表调用这个功能过渡为了确保这些生命体征随着时间的推移逐渐改变。为了检测活动或运动强度的变化,图表调用焕然一新操作员。有关更多信息,请参阅检测数据和表达式值中的更改

确定适应度跟踪器输出

图表健康跟踪器为健身追踪器的核心逻辑建模。该图表由四个子图表组成,对应于可能的活动。该图表记录了你的活动状态,基于心率和速度产生的人体模拟器图表和这些子图表之间的转换。为了滤除信号噪声,图表使用期间运算符来实现简单的去抖动逻辑。例如,当你休息时,你可以做出一些与锻炼不相适应的快速而突然的动作。只有当您的运动持续时间超过两分钟(或模拟时间的两秒)时,图表才会确定您正在行走或锻炼。图表监视活动子状态,并将此信息传递给应用程序界面图表通过输出数据状态。有关详细信息,请参阅通过活动状态数据监视状态活动

该图表使用其他时间逻辑运算符来跟踪你在每个活动中花费的时间,并决定何时向应用程序发送通知:

  • 每个子图表中的退出操作调用运行操作符以确定子图活动多长时间。图表将这个值与其他信息(如心率和总步数)一起传递给应用程序界面通过输出结构绘制图表显示

  • 该图表使用了之后当你睡眠或步行超过5分钟,休息或锻炼超过你在应用程序中指定的阈值,或高强度锻炼(每秒4步以上)超过15分钟时,操作符将确定你的睡眠或步行超过5分钟,休息或锻炼超过你在应用程序中指定的阈值,或锻炼超过15分钟。在这些情况下,图表发送一个通知消息。这个应用程序界面chart接收到此消息,并导致通知出现在应用程序的主显示。根据通知的类型,通知按钮改变颜色。

另见

(金宝appSimulink)|||||(MATLAB编码器)

相关的话题