Simulin金宝appk上的家伙

金宝app基于Simulink和模型的设计

使用Simulink编译器部署病毒传播模拟器金宝app

在我的Simulink编译器中涵盖Simulink编译器后金宝app以前的帖子,现在是时候看看更复杂的应用程序。

为此,我决定利用我在几个月前发表在这个博客上的项目我模拟了指数展开的演变,例如像Covid-19这样的病毒的传播

使用App Designer.,我创建了一个应用程序,您可以在其中调整参数并可视化模拟结果。来自App Deployment Area的同事设置了一个MATLAB Web App Server在云中,所以读这个博客的每个人都可以在Web浏览器中尝试该应用程序。

尝试决赛Web应用程序通过点击这里或在下面的图像上。

Covid-19模拟器Web应用程序

获取源代码

要查看我的实现方式,可以下载项目Matlab Central.要么GitHub.

我发现从Github检索项目的方便是通过金宝appSimulink开始页面。您只需单击“从源控制中的项目按钮并粘贴我的回购的地址:git@github.com:guirlo 金宝app/ simulink-virus-simulator.git

让我们来看看我要做的事情,以便与Simulink编译器兼容的项目,以及我在方式学到的提示和技巧。金宝app

快速加速器

在我的前一篇文章中,我提到它在部署的应用程序中模拟模型,模拟integle.必须配置为部署使用金宝appsimulink.compiler.configurefordeployment。要了解此功能的情况,请将其应用于默认的SimulationInput对象:

配置部署

如您所见,配置用于部署的应用程序意味着模拟模型快速加速器模式并禁用RapidAcceleratoruptodoTecheck参数。对于未来的版本,我们计划添加更多功能金宝appsimulink.compiler.configurefordeployment例如,以与Simulink编译器不兼容的模型组件的标记金宝app

在我的情况下,最重要的后果是我必须删除Simevents.来自模型的块,因为SimEvents不支持快速加速器。金宝app而不是使用Simevents来安排感染剂恢复需要多长时间,而是在Simulink函数中实现了一个计数器,以检测代理已经感染了足够长的时间以恢复和改变其状态。金宝app

我建议看看本文档页面对于与快速加速器要求相关的其他限制。

可调参数

你想要小心的第二件事是你如何调整参数。在没有重建的情况下,该模型必须在快速加速器模式下运行,只能调整某些参数,并且需要以特定方式调整。

在我的情况下,我需要每次模拟模型时调整代理的4个属性:

  • 初始位置
  • 初始速度
  • 半径
  • 恢复时间

幸运的是,默认情况下,这些都是可调的,所以我没有做任何改变以使它们调谐。您需要小心的是如何为这些参数指定新值。使用Sim金宝appulink编译器,您需要通过以下方式指定新的参数值可遗漏的A.的方法金宝appsimulink.simulationInpul.目的。

在我的应用程序中,这意味着模拟模型的代码看起来如下:

指定可调参数

这是一个额外的提示我不必在这个项目中使用,但你可能会发现有用的是你是一个simscape用户。

SIMSCAPE参数:默认情况下,不调谐Simscape参数。要进行SIMSCAPE参数可调调节,首先需要转到您的首选项并启用“显示运行时参数设置”选项:

Simscape偏好

启用此首选项后,将出现一个新的下拉列表,旁边可能会进行运行时可调整的所有simscape参数:

Simscape Run-time参数

我建议仅设置您实际计划调谐到运行时调谐的Simscape参数。将所有Simscape参数设置为运行时可调度可导致性能和稳健性问题。

如果您计划将编译的应用程序部署为Web App,这里有一些更多的技巧我很方便。

提示1:在模拟运行时显示进度条

在R2020A中,仿真结果只有一旦模拟完成。如果模拟需要超过几秒钟,我建议在模拟期间在仿真期间显示进度条,因此最终用户知道正在发生模拟。

注意:在R2020B中,可以通过编译模型中流中流出数据。我打算在未来的帖子中掩盖这一点。

提示2:在警报对话框中显示潜在的模拟错误

如果出现问题,请在Try-Catch语句中包装一些代码总是一个好主意Uialert.显示错误。它可能有助于您的最终用户了解出现问题并在可能的情况下修复它。

提示3:处理Simulink启动金宝app时间

如果您在Web App Server上部署应用程序,则不会自动启动Simulink。金宝app这意味着第一次模型将模拟,需要额外的时间来加载Simulink。金宝app为了避免最终用户想知道发生了什么,进度条也可以帮助。

以下是组合那3个提示的代码示例片段:

提示1,2和3

现在轮到你了

使用使用App Designer创建的应用程序,使用Simulink编译器编译并托管在Matlab Web 金宝appApp Server上,您公司中的每个人都可以访问Web浏览器中的Simulink的电源,而无需Matlab安装。

如果你还没有这样做,单击此处在Web浏览器中尝试已部署的Web应用程序。要查看实现,请从中下载项目Matlab Central.要么GitHub.

如果您已经利用Simulink编译器和/或Web应用程序,请在下面的评论中知道,或者如果您正在计划尽快。金宝app

|

评论

要发布评论,请点击此处