在matlab中标记时间序列数据?

时间:2014-10-25 14:06:46

标签: matlab sorting label time-series

我的阵列 distarray []为35 * 1 ,这是由一个用户的x时间序列(样本的)的距离计算产生的,其中x个时间序列为35个实例。在distarray []中,前7个值来自与 UserA 的比较,序列中的接下来的8个值来自与 UserB 的比较,接下来的10个属于 UserC &最后10个属于 UserD (7 + 8 + 10 + 10 = 35)。

我想对这些结果应用一些分类器。在此之前,我希望标记值,使得与一个用户的比较产生的值具有一个标签(例如,在此例如,由于UserA的前7次计算将被标记为' UA ',同样,接下来的8个值将被标记为' UB ',接下来的10将被标记为' UC '最后10个将被标记为' UD &#39 )。 最后,如果我的distarray []的值如(distarray = [120,42,25,50,95,47,32,...... 252]),如果应用一些排序函数在此列表中,我希望标签也相应地进行排序。

我的代码距离计算是:

 QueryFileDir = 'dirpath';  
 QueryFile = dir( fullfile(QueryFileDir,'QueryFileName') );   
 QueryFile = {QueryFile.name};                    
 TrainingSampleDir= 'dirpath';   
 TrainingFiles = dir( fullfile(TrainingSampleDir,'*.SomeFileExtension') );   
 TrainingFiles = {TrainingFiles.name};                      
 distarray = [];
 resultingdist = [];
   for i=1:length(QueryFile)
     queryfilename = fullfile(QueryFileDir,QueryFile{i}); 
     queryfile = dlmread(queryfilename, '', 2,0);
     xtimeseriesq=queryfile(:,1);        %assigning x timeseries of query sample to c1
       for j=i+1:length(TrainingFiles)
        trainfilenames = fullfile(TrainingSampleDir,TrainingFiles{j});    
        trainfiles = dlmread(trainfilenames, '', 2,0); 
        xtimeseriest=trainfiles(:,1);%assigning x timeseries of training samples to d1 
        resultingdist = dtw(xtimeseriesq,xtimeseriest); % distance computation using x-timeseries of query sample with all training samples                   
        distarray = [distarray; resultingdist]; %resultant distance array                           
       end
    end

0 个答案:

没有答案