0
以下代碼在Matlabs容器映射中使用Matlabs的Serial Date Number作爲鍵。關鍵類型是雙重的。它是否正確?可以將Matlabs的序列號碼用作關鍵字嗎?Matlab containers.map SerialDateNumber奇怪的關鍵行爲
currDateTime='2013-02-12 11:00';
dateNum=datenum(currDateTime);
keySet = {dateNum};
currentDateNum=datestr(dateNum);
valueSet = {currentDateNum} ;
weatherFrontMap = containers.Map(keySet,valueSet);
weatherFrontMap(dateNum)='eleven';
currDateTime='2013-02-12 12:00';
dateNum=datenum(currDateTime);
weatherFrontMap(dateNum)='twelve';
currDateTime='2013-02-12 13:00';
dateNum=datenum(currDateTime);
weatherFrontMap(dateNum)='thirteen';
currentDateNum=datestr(dateNum);
disp (currentDateNum)
str=weatherFrontMap(dateNum);
disp(str)
subtractHour=addtodate(dateNum,-1,'hour');
currentDateNum=datestr(subtractHour);
disp (currentDateNum)
strSubtractHour=weatherFrontMap(subtractHour);
disp(strSubtractHour)
subtractHour2=addtodate(dateNum,-2,'hour');
currentDateNum=datestr(subtractHour2);
disp (currentDateNum)
strSubtractHour2=weatherFrontMap(subtractHour2);
disp(strSubtractHour2)
此打印:
12-FEB-2013 13:00:00
12-FEB-2013 12:00:00
12-Feb-2013 11:00:00
使用容器時出錯.Map/subsref
指定的密鑰不存在於此容器中。
錯誤testMap(第40行)
strSubtractHour2 = weatherFrontMap(subtractHour2);
謝謝,字符串表示很完美 – 2013-02-28 13:48:30