Сначала я бы преобразовал метки времени из строк в числовые значения, используя функцию DATENUM . Затем вы захотите заменить содержимое пустых ячеек заполнителем, например NaN
. Вы можете использовать функцию SORTROWS для сортировки по второму столбцу. Вот пример:
>> mat = {1 '1/1/10' 3; 4 [] 6; 7 '1/1/09' 9} %# Sample cell array
mat =
[1] '1/1/10' [3]
[4] [] [6]
[7] '1/1/09' [9]
>> validIndex = ~cellfun('isempty',mat(:,2)); %# Find non-empty indices
>> mat(validIndex,2) = num2cell(datenum(mat(validIndex,2))); %# Convert dates
>> mat(~validIndex,2) = {NaN}; %# Replace empty cells with NaN
>> mat = sortrows(mat,2) %# Sort based on the second column
mat =
[7] [733774] [9]
[1] [734139] [3]
[4] [ NaN] [6]
В этом случае значения NaN
будут отсортированы снизу.