2016-02-01 20 views
0

我想創造一個5分鐘被添加到每個時間步長在一個循環中的文件名的數組:如何在循環內的每一步添加?

PE.20110612.000500.tif 
PE.20110612.001000.tif 
PE.20110612.001500.tif 

使用此代碼

startYear = '2011'; 
startMon = '06'; 
startDate = '12'; 
startHour = '00'; 
startMin = '05'; 
endYear = '2011'; 
endMon = '06'; 
endDate = '12'; 
endHour = '00'; 
endMin = '30'; 

peFileNames=cell(1,20); 
for k = 1:20 
    peFileNames{k} = strcat('PE','.',startYear,startMon,startDate,'.',startHour,startMin,'00','.tif'); 
    startMin = startMin+5; 
end 

很顯然,這是行不通的,因爲我無法在每個時間步驟內在循環內添加5分鐘。我該怎麼做?

最後的想法是從StartTime到EndTime並在數組內創建n個單元格。

+0

任何特定的原因,你這樣做而不是使用實際日期? http://www.mathworks.com/help/matlab/ref/addtodate.html看起來像簡化了你想要做的事情,你只需要格式化文件名的日期字符串。 – whrrgarbl

+0

謝謝。日期格式(PE.20110612.000500.tif)來自數據,必須保持這種方式。我不知道如何將其轉換爲datenum可以理解的格式....如果我可以,Addtodate將非常有用... – maximusdooku

+0

我正在檢查datenum文檔以獲取更多詳細信息.... – maximusdooku

回答

3

除了手動執行的時間。另外,你可以使用內置的addtodate功能(http://www.mathworks.com/help/matlab/ref/addtodate.html),它會自動滾動到下一個現場處理的問題:

startDate = datenum('12-Jun-2011 00:05:00'); 
endDate = datenum('12-Jun-2011 00:30:00') 

peFileNames=cell(1,20); 
for k = 1:20 
    peFileNames{k} = strcat('PE.',datestr(startDate, 'yyyymmdd.HHMMSS'), '.tif'); 
    startDate = addtodate(startDate, 5, 'minute'); 
end 
+0

謝謝。我收到幾個錯誤,包括這一個錯誤:使用cnv2icudf錯誤(92行) 無法識別的月份格式。格式字符串:yyyymmdd.hhmmss。 – maximusdooku

+0

哎呀,第二組'm應該是大寫字母。更新! – whrrgarbl

+0

@maximusdooku嘗試輸出格式爲''yyyymmdd.HHMMSS'。 – TroyHaskin

2

如果不使用datetime型(R2014b +),我會創建一個雙打矢量,然後將它們轉換爲字符串:

startYear = '2011' ; 
startMon = '06' ; 
startDate = '12' ; 
% 
startmin = 5        ; 
freq  = 5        ; 
steps = 20        ; 
minsraw = (startmin:freq:(freq*steps)).' ;%' 
min  = mod(minsraw,60)     ; 
hour  = floor(minsraw/60)    ; 
% 
startMin = num2str(min,'%02G') ; 
startHour = num2str(hour,'%02G'); 

% The curly braces around .tif makes the output a cell array. 
peFileNames = strcat('PE','.',startYear,startMon,startDate,'.',startHour,startMin,'00',{'.tif'}); 
+0

謝謝。我不知道日期時間功能。 – maximusdooku

+0

@maximusdooku確實。我加了我的,因爲這是我的做法,對於那些沒有這個類型的老版本的Matlab用戶。 – TroyHaskin

+0

謝謝..這很有用。 – maximusdooku

相關問題