MATLAB滑动窗口(移动方差)

滑动窗口算法的好处:

可以很清晰的看出数据的变化程度,变化程度的明显程度可通过对滑动系数的控制来更改,滑动系数越大,变化程度或许会比较小,主要还是根据数据的变化来改变。

这里主要对数据进行方差计算(其他方法都可以,比如平均值,对数据归一化之类的)

代码如下(自己根据实际情况进行更改):

clear;clc
A = xlsread('(Excel文件名).xlsx') %导入数据
B = A(2:end,1:end) %处理数据

第三段主要是为了提出Excel中的数据,抛掉不要的数据

Q = [] %创建空矩阵
[r,c] = size(B) %求出列表B的.行数r和列数c

创建空矩阵的目的是把算出的数据存起来以便看出变化

for j = 1:c %列数循环 
    ans = B(:,1) %导出第j列数据 
    for i = 1: r-10 %循环r-10 
        C = ans(i:i+10,1) %导出第i到i+10行数据 
        D = var(C,0,1) 对C求方差 
        Q(i+1,j) = D %导入Q中  
        if i == 5516 %防止超出矩阵 
            break 
        end 
    end 
    disp(Q)
end
Q = Q(2:end,1:c) %第二行到最后,第一列到最后

我这是对列数据进行求方差,行也是可以的,一样的思路。

你可能感兴趣的:(matlab)