Столбец времени изменяется в десятичной форме при импорте в MATLAB - PullRequest
0 голосов
/ 18 марта 2020

У меня есть наборы данных из файла xlxs в Excel, которые я должен импортировать в MATLAB. Проблема в том, что всякий раз, когда я импортирую данные, время всегда получается десятичным.

Итак, здесь данные в файле xlxs показывают формат ЧЧ: ММ: СС:

enter image description here

Так выглядит помощник по импорту MATLAB

enter image description here

Я собираюсь сгенерировать линейный график для него, и это выглядит так:

enter image description here

Это пример кода, который я использовал в чтобы создать сюжет, в котором я хотел, чтобы время не отображалось в десятичной форме.

datestr(Time,'HH:MM:SS');
title ('Particle Measurement for 02-20-2020 @ UPD')
plot(Time,PM10)
xlabel('Time')
ylabel('Particle Measurement')
hold on
plot(Time,PM1)
hold on
plot(Time,PM25)

1 Ответ

2 голосов
/ 18 марта 2020

Время в MATLAB равно datenum() значениям, которые являются десятичными днями с 0 января 0000. Таким образом, вещи, которые вы видите , правильные времена. Вы можете использовать datestr(Time,'HH:mm:ss'), чтобы получить строку для времени, и datetick('x','HH:mm'), чтобы получить отметки на оси в часах.

Линия datestr(Time,'HH:MM:SS'); в вашем коде лишнее. MATLAB нужно время, чтобы оценить строку даты, а затем ... ничего. Вы не сохраняете выходные данные в переменную и не отображаете их (вы подавили это с помощью точки с запятой).

Короче говоря: используйте значения datenum() при построении графика и datetick(), чтобы получить метки оси правильные.

...