基于Matlab中先前的Matrix排列进行排序

时间:2014-06-19 13:19:51

标签: matlab sorting matrix

我有一个名为originalMatrix的130 x 48矩阵,它被分解为100 x 48行作为“weekdayTimeRows”和30 x 48行作为weekendTimeRows。

我基于名为“holidayLogicArray”的逻辑数组从“weekdayTimeRows”中提取10行,该数组为我要提取的10行返回1,为其他90行返回0。这10行基于HolidayArrayDate。

我将它们排列为空集,然后将它们添加到名为weekendTimeRows的不同矩阵中。

holidayLogicArray=ismember(weekdayTimeRows(:,1),HolidayArrayDate);
holidayTimeRows=weekdayTimeRows(holidayLogicArray,:);
weekdayTimeRows(holidayLogicArray,:)=[];
weekendTimeRows=[weekendTimeRows; holidayTimeRows]; 

此时,weekendTimeRows有30行,然后是新的10行,使其成为40 x 48行。我需要对新的10行进行排序,以便它们填充ORIGINAL矩阵的相同序列。

示例:holidayTimeRows中的第1行(共10行)是orignalMatrix中的第15行,它现在位于weekendTimeRows的第3行和第4行之间,因此第1行(第10行)将插入第3行和第4行而不是第31行。

注意:时间从值1到130是随机的。它们不是升序。 [所以我不能使用“排序”功能]

0 个答案:

没有答案