dlmread
попытается заставить все быть числом, чтобы он мог вернуть результат в матрице.Вместо использования dlmread
вы, вероятно, захотите использовать вместо него textscan
, прочитав первые два столбца в виде строк, а оставшиеся столбцы в виде чисел с плавающей запятой:
fid = fopen('filename.txt', 'rb');
data = textscan(fid, '%s %s %f %f %f', 'Delimiter', ';');
Затем вы можете объединить первый и второйстолбцы в строку даты и вычислите их datenum
, что позволит вам поместить все в числовую матрицу, где первый столбец является отметкой времени:
dates = cellfun(@(day, time)datenum([day, ' ', time], 'mm/dd/yyyy HH:MM:SS'), data{1:2})
data = [dates(:), data{3:end}]
% 737279.41031 0.00000 0.00000 19.60000
% 737279.41039 0.00000 0.00000 19.50000
% 737279.41056 0.00000 0.00000 19.50000
Затем вы можете использовать эти отметки времени, чтобы определить разницу (во времени) относительно любой ссылки, которую вы хотите использовать, используя простое вычитание.