罗兰关于MATLAB的艺术

将想法转化为MATLAB

介绍实时编辑器任务

今天我想向大家介绍一位客座博主,David Garrison,他是MathWorks的MATLAB产品经理。Dave将介绍R2019b中引入的新特性,称为Live Editor Tasks,它允许你在Live Editor中交互式地完成工作流中的步骤。

内容

什么是实时编辑器任务?

大家好。Loren非常好心,让我用她的博客告诉你我们在R2019b的Live Editor中引入的一个令人兴奋的新特性。

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

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

分析心电图数据

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

我知道该信号是通过连接到皮肤上的电极测量的,它对干扰非常敏感,例如电源干扰和运动产生的噪音。在这种情况下,该信号显示了我要消除的基线偏移。我该怎么做?我可以先键入一个关键字,看看MATLAB会提供什么样的建议。如果我键入关键字德特伦德,我有两个选择德特伦德函数和其他东西——一个实时编辑器任务删除趋势

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

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

现在,我想找出心电信号中的波峰然后利用这些波峰的位置来计算心率。关于实时编辑器任务的一个伟大的事情是,你可以将它们与其他实时编辑器任务和你自己编写的代码结合起来。这里,我用求局部极值找到峰值的任务。

我使用了输出变量,detrendedECG,由删除趋势任务作为求局部极值任务。然后我设置分钟突出最后,我在Live Editor任务之后添加了一些代码来计算心率(第32-34行)

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

实时编辑任务的解剖

现在您已经看到了实时编辑器任务的实际应用,让我们来看看它们如何工作的一些细节。实时编辑器任务有三个部分:标题、控件和生成的代码。

标题节包含Live Editor任务所做工作的摘要。

在本例中,它从我的noisyECG数据。左边的框包含了当Live Editor Task运行时将在MATLAB工作空间中创建(或更新)的变量的名称。你可以把这个变量变成你想要的任何东西。我叫它detrendedECG。您还可以折叠任务以仅显示标题。

控制部分包含一组用户界面控件,这些控件允许您研究实时编辑器任务的参数和选项。

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

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

这是实时编辑器任务执行时运行的代码。它包括用于反趋势数据和绘制结果的代码。中的参数将自动更新代码控制节。默认情况下,代码是隐藏的,但您可以使用显示代码按钮就在按钮下方控制部分。

运行实时编辑器任务

您不需要做任何事情来运行实时编辑器任务。属性中的值更改后,Live Editor Task将自动运行控制部分。设置了自动运行后,活动编辑器将运行包含活动编辑器任务的部分中的所有代码。你可以通过点击标题部分右上角的绿色圆圈来关闭自动运行。再次点击绿色圆圈将开启自动运行。当自动运行被关闭时,您仍然可以使用左边边距中的运行条或单击运行段按钮。

查找实时编辑器任务

有两种方法可以找到Live Editor Tasks。你可以在代码部分键入一个关键字,就像我在上面的例子中做的那样,或者你可以从工具条中找到Live Editor Tasks。的任务下拉列表显示所有可用Live Editor任务的库。

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

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

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

要获得这个菜单,请使用标题部分右上角的选项下拉菜单。您可以选择显示控件、生成的代码或两者都显示。这个菜单还有其他有用的选项。例如,您可以在控制部分或将整个Live Editor Task转换为可编辑的代码。

接下来是什么?

这只是实时编辑任务的开始!在R2019b中,我们已经发货了第一套。在后续版本中,我们将为其他工作流添加Live Editor Tasks。如果你有关于MATLAB或工具箱功能的想法,可能使一个好的Live Editor任务,请让我们知道!

您是否发现了实时编辑器任务?

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




发布与MATLAB®R2019b

|

评论

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