罗兰关于MATLAB的艺术

将想法转化为MATLAB

介绍实时编辑器任务

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

内容

什么是实时编辑器任务?

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

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

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

分析心电图数据

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

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

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

现在,我可以使用这个实时编辑器任务从我的数据中删除基线偏移。我选择输入数据,noisyECG,以及一些我想要删除的趋势参数,瞧!我得到一个新变量,detrendedECG,以及原始数据和非趋势数据的可视化。我还可以看到后台的MATLAB代码,Live Editor Task已经为我生成了执行反趋势步骤和创建情节的代码。这就是实时编辑器任务的力量!

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

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

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

实时编辑任务的解剖

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

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

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

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

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

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

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

运行实时编辑器任务

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

查找实时编辑器任务

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

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

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

有几个选项可以控制如何在活动脚本中显示活动编辑器任务。

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

接下来是什么?

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

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

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




发布与MATLAB®R2019b

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。