如何在每个周期添加新数据以及如何描述'周期'在matlab中更好

时间:2018-01-17 02:47:08

标签: matlab cluster-analysis k-means

我想应用本文所述的动态粗糙K-means算法: 粗糙聚类的动态方法: https://link.springer.com/chapter/10.1007%2F978-3-540-88425-5_39

如图所示,我想知道如何在每个周期添加新数据以及如何描述'周期'在matlab中更好。enter image description here 我只能提出描述' for'循环作为循环并宣布一个newData数组,该数组预先存储新数据以添加数据 在每个周期(循环)如下:

newData = [cycle1,cycle2,cycle3,...cyclec];
for i = 1:c
    %it is a new cycle
    newdata = newData[i];
    %classify new data...
    %check for structural changes..
    %updata parameters and data...
end

有没有更好的方法? 非常感谢。

1 个答案:

答案 0 :(得分:0)

我不了解更好,但还有其他方法。根据数据的到达方式,您可以考虑在while循环中进行某种形式的处理。只是为了让您了解这可能如何运作。

% Some initializatian
init();

while ~isEmpty()
    %it is a new cycle
    newData = getData()
    %classify new data...
    %check for structural changes..
    %updata parameters and data...
end

function x = getData()
    global counter;
    data = [1, 2, 3];
    x = data(counter);    
    counter = counter + 1;
end

function empty = isEmpty()
    global counter;
    empty = counter > 3;
end

function init()
    global counter;
    counter = 1;
end

这不是您的实施。它旨在让您了解这可能看起来如何高水平。在getData中,您可以从任何来源获得下一个数据点。而不是拥有一个全局计数器,你可以考虑将你的行为和数据放在一个对象中。