Matlab中使用实时编辑器任务清理杂乱数据并找到极值

目录

填充缺失数据

填充离群值

平滑处理数据

找到极值

生成代码


        ​可以使用实时编辑器任务序列以交互方式预处理数据,在每个步骤可视化数据。此示例使用四项任务来清理有缺失值和离群值的含噪数据,以便识别局部最小值和最大值。有关实时编辑器任务的详细信息,可以参考将交互式任务添加到实时脚本中。

        首先,创建并绘制一个由杂乱数据组成的向量,其中包含四个 NaN 值和五个离群值。

x = 1:100;
data = cos(2*pi*0.05*x+2*pi*rand) + 0.5*randn(1,100);
data(20:20:80) = NaN;
data(10:20:90) = [-50 40 30 -45 35];
plot(x,data)

填充缺失数据

        要替换数据中的 NaN 值并可视化结果,请打开清理缺失数据任务。首先在代码块中键入关键字 missing,然后当 Clean Missing Data 出现在菜单中时点击它。选择输入数据和清理方法,以自动绘制填充的数据。

填充离群值

        现在,可以使用清理离群数据任务从上一任务的经过清理的数据中删除离群值。在新代码块中键入关键字outliers,然后点击Clean Outlier Data打开任务。选择cleanedData作为输入数据。可以自定义清理和检测离群值的方法,并调整阈值以找到更多或更少的离群值。

平滑处理数据

        接下来,使用平滑处理数据任务来对在上一任务中经过清理的数据进行平滑处理。键入关键字smooth,并在任务出现时点击它。选择前一任务的输出cleanedData2作为输入数据。选择一种平滑方法,并调整平滑因子以实现更多或更少的平滑处理。

找到极值

        最后,键入关键字extrema,然后点击Find Local Extrema。使用smoothedData作为输入数据,并更改极值类型,以找到经过清理和平滑处理的数据的局部最大值和局部最小值。可以调整局部极值参数以找到更多或更少的最大值和最小值。

生成代码

        要查看任务用于生成输出和可视化的代码,请点击位于任务窗口底部绘图上方的箭头。

        该任务显示代码块,可以剪切并粘贴该代码块,以便以后在现有脚本或其他程序中使用或修改它。例如:

        由于基本代码现在是实时脚本的一部分,因此可以继续使用任务创建的变量进行进一步处理。例如,可以使用 maxIndices 在经过平滑处理的数据中找到对应的局部最大值,然后计算平均值:

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值