【问题标题】:how to add new data each cycle and how to describe 'cycle' in matlab is better如何在每个循环中添加新数据以及如何在 matlab 中描述“循环”更好
【发布时间】:2018-06-25 20:19:44
【问题描述】:

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

如图所示,我想知道如何在每个循环中添加新数据以及如何在 matlab 中描述“循环”更好。 我只能想出将“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

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

【问题讨论】:

    标签: matlab cluster-analysis k-means


    【解决方案1】:

    我不知道更好,但还有其他方法。根据数据的到达方式,您可能会考虑在 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 中,您将从您可能拥有的任何来源获得下一个数据点。您可以考虑将您的行为和数据放在一个对象中,而不是使用全局计数器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 2015-02-15
      • 1970-01-01
      相关资源
      最近更新 更多