以下代码使用 Matlabs 序列号作为 matlabs 容器映射中的键。键类型是双键。它是否正确?Matlabs 序列号可以用作密钥吗?
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)
这打印:
2013 年 2 月 12 日 13:00:00
十三
2013 年 2 月 12 日 12:00:00
十二
2013 年 2 月 12 日 11:00:00
使用 container.Map/subsref 时出错
此容器中不存在指定的密钥。
testMap 中的错误(第 40 行)
strSubtractHour2=weatherFrontMap(subtractHour2);