0
私のコードでは、経過時間と温度を得るために別のテキストファイルをループしています。経過時間がテキストファイルで24時間(温度が1日以上最後を読んで)、関数datenumよりも大きい場合、その後のプロットの温度と時間 は、テキストファイルには、今、このDatenum Matlab:
Date; Time; Temp °C
06.12.2011; 10:35:11;-24.13
06.12.2011; 10:36:34;-24.00
06.12.2011; 10:37:56;-23.88
.
.
.
.
header=fgetl(fid);
data=textscan(fid,'%s','delimiter',';');
fclose(fid);
data=data{:};
day=data(1:3:end);
hour=data(2:3:end);
temp=str2double(data(3:3:end));
time=cellfun(@(x) sprintf('%s %s',day{strcmpi(hour,x)},x),hour,'uniformoutput',0);
timen=datenum(time,'dd.mm.yyyy HH:MM:SS');
seconds=timen*86400/60;
plot(seconds-seconds(1),temp);
xlabel('Time(mins)');
ylabel('Temp °C');
しかし、のようなデータを持っています
はのために24より大きい時間の値を受信したときdatenum
は私に失敗しなかった
それは 'time'変数内のエントリのいずれかで、日付文字列のように思えるよう
time
を計算することをお勧め'dd.mm.yyyy HH:MM:SS'形式と一致しません。たとえば、 'daten('12 .10.2010 A:B:C '、' dd.mm.yyyy HH:MM:SS ')の場合と同じエラーが発生します。 – Kavka