罗兰谈MATLAB的艺术

将想法转化为MATLAB

实时编辑器任务介绍

今天我想介绍一位客座博主,David Garrison,他是MathWorks的MATLAB产品经理。Dave将介绍R2019b中引入的名为实时编辑器任务的新功能,该功能允许您在实时编辑器中交互式地完成工作流中的步骤。

内容

什么是实时编辑任务?

大家好。Loren非常友好地让我用她的博客告诉你一个令人兴奋的新功能,我们已经在R2019b的实时编辑器中引入了。

实时编辑任务是可以嵌入到实时脚本中的应用程序,允许您以交互方式完成工作流中的步骤。使用Live Editor Task,您可以浏览参数和选项,立即查看结果,并生成底层MATLAB代码。

让我们看一个例子。在完成示例之后,我将详细讨论Live Editor Tasks的工作方式。

分析心电图数据

假设我有一些心电图数据,我想分析它,并用MATLAB计算心率。我将从加载数据并绘制数据的活动脚本开始。

我知道信号是由附着在皮肤上的电极测量的,它对诸如电源干扰和运动引起的噪声等干扰很敏感。在本例中,信号显示了我想要删除的基线移位。我怎么做呢?我可能会先输入一个关键字,看看MATLAB会提供什么样的建议。如果我输入关键字去趋势在美国,我有两个选择去趋势函数和其他东西——一个实时编辑器任务叫做删除趋势

如果我选择删除趋势任务,一个小应用程序出现在我的脚本。

现在,我可以使用这个Live Editor Task从数据中删除基线移位。我选择输入数据,noisyECG,以及我想删除的趋势的几个参数,瞧!得到一个新变量,detrendedECG,以及原始数据和去趋势数据的可视化。我还可以看到Live Editor Task为我生成的执行去趋势步骤并创建图形的底层MATLAB代码。这就是实时编辑任务的力量!

现在,我想要识别ECG信号中的峰值,并使用这些峰值的位置来计算心率。关于实时编辑器任务的一大好处是,您可以将它们与其他实时编辑器任务以及您自己编写的代码结合起来。这里,我用寻找局部极值任务找到峰值。

我使用输出变量,detrendedECG,来自删除趋势对象的输入寻找局部极值的任务。然后我设置分钟突出值来得到我想要的峰值。最后,我在Live Editor Task之后添加了一些代码来计算心率(第32-34行)

在那里!我已经用两个Live Editor任务和几行代码完成了我的分析。我现在可以与我的同事分享我的分析,并让他们试验我的代码。

剖析一个实时编辑器任务

现在您已经看到了实时编辑器任务的运行情况,让我们来看看关于它们如何工作的一些细节。Live Editor Task有三个部分——标题、控件和生成的代码。

部分包含活动编辑器任务功能的摘要。

在这种情况下,它从我的noisyECG数据。左边的方框包含当Live Editor Task运行时将在MATLAB工作区中创建(或更新)的变量的名称。你可以把这个变量变成任何你想要的。我把它叫做detrendedECG.还可以折叠任务以只显示标题。

控制部分包含一组用户界面控件,允许您浏览活动编辑器任务的参数和选项。

第一步是选择数据。在这种情况下,我想从我的noisyECG数据。然后我可以选择要移除的趋势的多项式次。断点下拉菜单允许我将操作应用到数据的不同部分。最后,我可以选择我想在结果中可视化的内容。

生成的代码部分显示了由Live Editor Task创建的代码。

这是执行Live Editor Task时运行的代码。它包括数据趋势和绘制结果的代码。属性中的参数时,将自动更新代码控制部分被更改。默认情况下,代码是隐藏的,但您可以使用显示代码按钮,就在控制部分。

运行实时编辑器任务

你不需要做任何事情来运行一个实时编辑器任务。指定输入数据后,每当更改中的某个值时,实时编辑器任务将自动运行控制部分。设置“自动运行”后,“实时编辑器”将运行包含“实时编辑器任务”的部分中的所有代码。您可以通过单击标题部分右上角的绿色圆圈来关闭自动运行。再次单击绿色圆圈将重新打开自动运行。关闭自动运行后,仍然可以使用左侧空白中的运行条或单击运行部分按钮。

查找实时编辑器任务

有两种方法可以找到实时编辑器任务。您可以在代码部分中键入关键字,就像我在上面的示例中所做的那样,或者您可以从工具条中找到活动编辑器任务。的任务下拉菜单显示所有可用的实时编辑器任务的图库。

在R2019b中,有14个实时编辑器任务。数据预处理任务在MATLAB中可用。其他的分别与控制系统、预测性维护和系统识别工具箱一起可用。

显示实时编辑器任务的选项

有几个选项可以控制实时编辑器任务在实时脚本中的显示方式。

要获得这个菜单,请使用标题部分右上角的选项下拉菜单。您可以选择显示控件、生成的代码或两者都显示。这个菜单还有其他有用的选项。中恢复默认值控制部分或将整个活动编辑器任务转换为您可以编辑的代码。

接下来是什么?

这只是实时编辑器任务的开始!在R2019b中,我们已经发货了初始集。在后续版本中,我们将为其他工作流添加Live Editor Tasks。如果你有关于MATLAB或工具箱函数的想法,可以做一个好的实时编辑器任务,请告诉我们!

你发现实时编辑任务了吗?

你在R2019b中发现实时编辑器任务了吗?你用过哪些?你对新的实时编辑任务有什么想法吗?我很想听听你的想法在这里




由MATLAB®R2019b发布

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。