广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    Matlab时序数据稳态状态判别及获取稳定工况数据

    来源:网络收集  点击:  时间:2024-08-31
    【导读】:
    “Matlab时序数据稳态状态判别及获取稳定工况数据”方法简要介绍如下:对时序参数原始数据进行稳态状态的判别,得到稳定状态下的运行数据。以第一列因变量为例(可以使用其他列,改动程序即可。)采用滑动窗口法进行稳态检测,数据窗口长度选择为10个数据,若窗口内数据的波动情况较大,则处于非稳态,不保存数据,否则处于稳态,保存数据。依次向后移动窗口,直至所有时序数据稳态状态判断完成。下面详细介绍方法步骤及程序。工具/原料more电脑Matlab时序多变量需进行稳态工况判别的样本数据方法/步骤1/6分步阅读

    首先读入样本时序数据表格到MATLAB矩阵表格中保存。

    程序如下:

    xyb=xlsread(样本数据.xlsx);

    在工作区可以看到数据是否保存到了xyb矩阵。

    2/6

    然后计算样本数据的行数。

    使用size函数,程序如下:

    n=size(xyb,1)

    1的含义为行数,改为2就是计算列数。

    在工作区或命令窗口可以看到计算结果。

    3/6

    接下来以样本数据的第一列为例进行稳态分析。首先将第一列赋值到wy矩阵。

    程序如下:

    wy=xyb(:,1);

    运行结果如下图所示。

    4/6

    然后设定参数值λ,根据数据情况来确定,每次取10个数进行稳态分析 ,计算这10个数的平均值,计算这10个数的标准差,如果标准差小于λ*平均值则这组数据是稳态数据,继续执行保存,将新样本中稳态数据赋值给wt数组。

    程序如下:

    c=0;

    d=0;

    r=0.03; %设定参数值λ,根据数据情况来确定

    for i=1:n

    if mod(i,10)==0 %每次取10个数进行稳态分析

    c=c+1; %取样次数累计

    wymean(c,:)=mean(wy(i-9:i,:)); %计算这10个数的平均值

    sd(c,:) = std(wy(i-9:i,:)); %计算这10个数的标准差

    if sd(c,:)r*wymean(c,:) %如果标准差小于λ*平均值则这组数据是稳态数据,继续执行保存

    d=d+1; %稳态窗口累计

    s=d*10;

    wt(s-9:s,:)=xyb(i-9:i,:); %将新样本中稳态数据赋值给wt数组

    end

    end

    end

    运行结果如下图所示。

    5/6

    再将稳态数据wt写入到稳态数据表格。

    使用xlswrite函数,程序如下:

    xlswrite(稳态数据.xlsx,wt);

    运行结果如下图所示。

    6/6

    完整的程序代码及截图如下所示:

    %************对时序参数样本数据进行稳态状态的判别,得到稳定状态下的运行数据。**************

    %**********以第一列因变量为例采用滑动窗口法进行稳态检测****************

    %**********数据窗口长度选择为10,若窗口内数据的波动情况较大,则处于非稳态,否则处于稳态。依次向后移动窗口**********************

    xyb=xlsread(样本数据.xlsx); %读入样本数据

    n=size(xyb,1); % 求样本数据的行数

    wy=xyb(:,1); % 以样本数据的第一列为例进行稳态分析

    c=0;

    d=0;

    r=0.03; %设定参数值λ,根据数据情况来确定

    for i=1:n

    if mod(i,10)==0 %每次取10个数进行稳态分析

    c=c+1; %取样次数累计

    wymean(c,:)=mean(wy(i-9:i,:)); %计算这10个数的平均值

    sd(c,:) = std(wy(i-9:i,:)); %计算这10个数的标准差

    if sd(c,:)r*wymean(c,:) %如果标准差小于λ*平均值则这组数据是稳态数据,继续执行保存

    d=d+1; %稳态窗口累计

    s=d*10;

    wt(s-9:s,:)=xyb(i-9:i,:); %将样本中稳态数据赋值给wt数组

    end

    end

    end

    xlswrite(稳态数据.xlsx,wt); % 将稳态数据wt写入到稳态数据表格

    %**************************************************

    注意事项

    设定参数值λ,根据数据情况来确定

    滑动窗口大小如10个数据,根据数据情况来确定

    MATLAB数据稳态判别获取稳定数据滑动窗口法
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.1haoku.cn/art_1175354.html

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-06 14:28:04  耗时:0.027
    0.0271s