我的阵列 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