主要内容

从外部数据添加事件表时间表

找到和标签事件时间表,附加一个eventtable到它。一个事件表的时间表事件。事件由事件时间(如果发生),通常一个事件或事件结束时间(发生了多长时间),经常一个事件标签(发生了什么),有时关于事件的附加信息。当你把一个事件表的时间表,它使您能够找到和标签中的行时间表时产生的事件。通过将时间表行与事件,您可以更容易地分析和情节它们包含的数据。

这个例子展示了如何将事件添加到您的时间表使用来自外部数据源的数据。在这个例子中,导入一个时间表的测量地球自转速率从1962年到现在。旋转速度变化作为时间的函数,导致多余的长短变化积累。每当累积超额变得太大,插入一个闰秒。随着时间的推移这个例子分析了多余的长短和治疗闰秒说自1972年以来为一组外部事件。要分析这些数据和事件表,可以使用eventtable,eventfilter,syncevents功能。(一个相关的工作流是找到和标签的事件在你的时间表。工作流,看到的更多信息使用事件表中找到事件的时间表。)

进口时间表与白天的时长测量

根据定义,一天就是86400秒长,第二有一个精确的定义在国际单位制(SI)。然而,实际上一天的长度变化由于几个物理原因。它随季节变化的30秒,21秒如果下定义,因为地球轨道的偏心率和倾斜的轴。平均这些季节性效应使的定义意思是太阳天不改变长度超过一年。

同样,有一个非常长期放缓地球的转速因潮汐与月球;小,相反,短期组件被认为是由于大陆冰盖的融化;非常短期周期的几十年;和难以预料的波动由于地质事件和其他原因。由于这些影响,平均太阳日的长度可能会增加或减少。近几十年来,它有上下波动,但大多是1 - 3毫秒时间超过86400秒。这种差异被称为多余的长度的一天,或多余的LOD

对于这个示例,创建一个包含多余的LOD时间表每天从1月1日,1962年,到现在。的国际地球自转服务(IERS)承担收集和发布这些数据。然而,这些数据需要预处理之前存储在MATLAB的时间表,因为修改日期朱利安日期。日前发表的数据读入一个表,使用readtable函数。重命名感兴趣的两个变量MJDExcessLOD

文件=“https://datacenter.iers.org/data/latestVersion/223_EOP_C04_14.62-NOW.IAU1980223.txt”;IERSdata = readtable(文件,NumHeaderLines = 14);IERSdata.Properties。VariableNames (8 [4]) = (“MJD”,“ExcessLOD”];

多余的LOD值存储在一个时间表,把修改后的朱利安日期datetime值。使用datetime函数与ConvertFrom = " mjd "名称-值参数。把多余的LOD值持续时间值使用函数。然后转换IERSdata从表使用的时间表table2timetable函数。

IERSdata。日期= datetime (IERSdata.MJD ConvertFrom =“mjd”);IERSdata。ExcessLOD= seconds(IERSdata.ExcessLOD); IERSdata = table2timetable(IERSdata(:,[“日期”,“ExcessLOD”)))
IERSdata =22274×1的时间表日期ExcessLOD ___________ _______ 01 - 1月- 1962 0.001723秒02 - 1月- 1962 0.001669秒03 - 1962年1月- 1962年1月0.001582秒04 - - 0.001496秒05 - 1月- 1962年0.001416秒06 - 1月- 1962年0.001382秒07 - 1962年1月- 1962年1月0.001413秒08 - - 0.001505秒09 - 1962年1月- 1962年1月0.001628秒10 - - 0.001738秒11 - 1962年1月- 1962年0.001794秒12 - 1月- 0.001774秒13 - 1月- 1962 0.001667秒14 - 1月- 1962 0.00151秒15 - 1962年1月- 1962年1月0.001312秒16 - - 0.001112秒⋮

画出多余的LOD作为时间的函数。多余的LOD目前平均下降但仍积极,除了在非常短暂。

情节(IERSdata.Date IERSdata.ExcessLOD,“b -”);ylabel (“超额LOD”);

计算累积过多的长度

一个时钟,它定义了一天86400 SI秒快速有效运行对地球的自转,获得时间对太阳每一天。每天几毫秒可能看起来无关紧要,但多余的LOD自1962年以来积累。

添加累积超额LODIERSdata作为另一个表变量。计算累积的和多余的LOD,使用cumsum函数。然后使用stackedplot函数绘制LOD过剩和累计超额LOD。这情节表明转变由于积累过剩LOD自1960年代以来不到一分钟。

IERSdata。CumulativeELOD = [0;cumsum (IERSdata.ExcessLOD (1: end-1)];stackedplot (IERSdata [“ExcessLOD”,“CumulativeELOD”])

在事件表中存储闰秒

1972年1月1日午夜,称为系统的当前版本的时间协调世界时(UTC)颁布,每天使用86400 SI秒。日期,UTC大致定义为在格林威治子午线与太阳时同步,或更准确地说,时间被称为不一致。每然而,基于86400 SI秒计时每天会疏远我们的身体经验的太阳时,因为积累的过量的LOD。所以,在需要的时候,一个额外的闰秒调整插入保持UTC大约与太阳同步时间。没有这些闰秒调整1972年之后,积累了LOD过剩会导致UTC疏远不一致。每在几十年内,会发展到几十秒的差别。

显示自1972年以来的区别。首先,通过下标来选择1971后多余的LOD数据IERSdata的时间范围从1月1日开始,1972年。创建时间范围,使用timerange函数。

IERSdata1972 = IERSdata (timerange (“1972-01-01”正)“ExcessLOD”)
IERSdata1972 =18622×1的时间表日期ExcessLOD ___________ _______ 01 - 1月- 1972 0.002539秒02 - 1月- 1972 0.002708秒03 - 1972年1月- 1972年1月0.002897秒04 - - 0.003065秒05 - 1月- 1972年0.003177秒06 - 1月- 1972年0.00322秒07 - 1972年1月- 1972年1月0.003201秒08 - - 0.003137秒09 - 1972年1月- 1972年1月0.003033秒10 - - 0.002898秒11 - 1972年1月- 1972年0.002772秒12 - 1月- 0.002672秒13 - 1月- 1972 0.002621秒14 - 1月- 1972 0.002642秒15 - 1972年1月- 1972年1月0.00274秒16 - - 0.002937秒⋮

自1972年以来,添加另一个变量的调整差异。1月1日开始累积超额LOD 1972年是0.0454859秒。对于每一个日期,计算调整的区别。2017年初,未经调整的差异会增长到大约26秒。显示IERSdata1972使用一个时间范围,包括2017年的开始。

DiffUT1_1972 =秒(0.0454859);IERSdata1972。UnadjustedDiff = DiffUT1_1972 + [0;cumsum (IERSdata1972.ExcessLOD (1: end-1)];IERSdata1972 (timerange (“2016-12-29”,“2017-01-04”):)
ans =6×2时间表日期ExcessLOD UnadjustedDiff ___________ _________________是_____________ 29 - 12月- 2016 0.0008055秒26.402秒30 - 12月- 2016 0.0008525秒26.402秒31 - 12月- 2016 0.0009173秒26.403秒01 - 1月- 2017 0.001016秒26.404秒02 - 1月- 2017 0.0011845秒26.405秒03 - 1月- 2017 0.0013554秒26.406秒

这种漂移是闰秒是为了减轻。你能想到的每一个闰秒插入UTC时间轴为一个事件。这些事件不是LOD数据的一部分。然而,在MATLABleapseconds函数列表每个闰秒,自1972年以来已经发生。(列出的闰秒leapseconds日前提供的来自另一个数据集)。返回的时间表leapseconds包含一个时间戳,每个事件的描述(+闰秒插入,- - - - - -在删除),闰秒的累积数量包括事件。到目前为止,已经有27个闰秒的事件,他们都被插入。

lsEvents = leapseconds ()
lsEvents =27×2时间表日期类型CumulativeAdjustment ___________ ____ ____________________ 30 - 1972年6月——+ 1秒31 - 12月- 1972 + 2秒31 - 12月- 1973 + 3秒31 - 12月- 1974 + 4秒31 - 12月- 1975 + 5秒31 - 12月- 1976 + 6秒31 - 12月- 1977 + 7秒31 - 12月- 1978 + 8秒31 - 12月- 1979 + 9秒30 - 1981年6月,+ 10秒30 - 1982年6月- 11秒30 - 1983年6月,+ 12秒30 - 1985年6月,+ 13秒31 - 12月- 1987 + 14秒31 - 12月- 1989 + 15秒31 - 12月- 1990 + 16秒⋮

治疗闰秒的事件,转换lsEvents通过使用事件表eventtable函数。

lsEvents = eventtable (lsEvents)
lsEvents =27×2 eventtable事件标签变量:<设置>事件长度变量:<瞬时>日期类型CumulativeAdjustment ___________ ____ ____________________ 30 - 1972年6月——+ 1秒31 - 12月- 1972 + 2秒31 - 12月- 1973 + 3秒31 - 12月- 1974 + 4秒31 - 12月- 1975 + 5秒31 - 12月- 1976 + 6秒31 - 12月- 1977 + 7秒31 - 12月- 1978 + 8秒31 - 12月- 1979 + 9秒1981年6月30 + 10秒30 - 1982年6月- 11秒30 - 1983年6月,+ 12秒30 - 1985年6月,+ 13秒31 - 12月- 1987 + 14秒31 - 12月- 1989 + 15秒31 - 12月- 1990 + 16秒30 - jun - 1992 + 17秒30 -君- 1993 + 18秒30 - 1994 + 19秒31 - 12月- 1995 + 20秒30 - 1997年6月——+ 21秒31 - 12月- 1998 + 22秒31 - 12月- 2005 + 23秒31 - 12月- 2008 + 24秒30 -君- 2012 + 25秒30 - 2015 + 26秒31 - 12月- 2016 + 27秒

在这一点上,主要的LOD数据IERSdata1972时间表。闰秒的事件lsEvents事件表。找到和标签行期间出现闰秒的LOD数据,连接lsEventsIERSdata1972。分配lsEvents对其事件财产。

IERSdata1972.Properties。事件= lsEvents;IERSdata1972.Properties
ans = TimetableProperties属性:描述:“用户数据:[]DimensionNames:{“日期”“变量”}VariableNames: {“ExcessLOD”“UnadjustedDiff”} VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowTimes: (18622×1 datetime)开始时间:01 - 1月- 1972 SampleRate:南步伐:1 d事件:[27×2 eventtable] CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。

使用事件时间戳来选择数据

添加未经调整的区别或累积过多的LOD,在每一个日期lsEvents。发现未经调整的差异在这些日期,索引到UnadjustedDiff变量的IERSdata1972并选择未经调整的差异在时间戳lsEvents。然后将这些差异附加到每个事件lsEvents关于事件的附加信息。

首先,创建事件过滤器使用eventfilter函数。它使用事件表附加到一个时间表来创建一个行下标。您可以使用下标为时间表行使用事件表匹配的值。下标为IERSdata1972未经调整的差异并返回一个数组的日期添加闰秒。

EF = eventfilter (IERSdata1972)
EF = eventfilter没有约束,没有选择变量<无约束> VariableNames:日期、类型,CumulativeAdjustment
UnadjustedDiff = IERSdata1972 {EF.Date,“UnadjustedDiff”}
UnadjustedDiff =27×1时间0.63494秒5.3334 1.1864 4.2718秒3.289 2.2976秒秒秒秒9.6281 6.3469 8.3526秒7.398秒秒秒14.669 10.389 13.634秒12.451 11.249秒秒秒秒16.556 15.379秒秒21.282 17.399 20.472秒19.442 18.216秒秒秒秒25.671 22.659 24.583秒23.589秒秒秒26.403秒

将数组作为一个新的变量添加到事件表。通过这种方式,您可以添加更多的信息事件后附加一个事件表时间表。

IERSdata1972.Properties.Events。UnadjustedDiff = UnadjustedDiff
IERSdata1972 =18622×2时间表日期ExcessLOD UnadjustedDiff ___________ _______是_____________ 01 - 1月- 1972 0.002539秒0.045486秒02 - 1月- 1972 0.002708秒0.048025秒03 - 1月- 1972 0.002897秒0.050733秒04 -简- 1972 0.003065秒0.05363秒05 - 1月- 1972年1月0.003177秒0.056695秒06 - - 1972 0.00322秒0.059872秒07年1月- 1972年1月0.003201秒0.063092秒08 - - 1972 0.003137秒0.066293秒09 - 1月- 1972 0.003033秒0.06943秒10 - 1972年1月- 0.002898秒0.072463秒11 - 1月- 1972 0.002772秒0.075361 0.078133秒12 - 1月- 1972 0.002672秒秒13 - 1月- 1972 0.002621秒0.080805秒14 - 1月- 1972年1月0.002642秒0.083426秒15 - 0.086068 - 1972 0.00274秒秒16 - 1月- 1972 0.002937秒0.088808秒⋮

阴谋事件对数据

事件表显示在每一个事件,日前插入闰秒时多余的LOD积累了大约一个额外的第二。确认这个观察视力、情节的瞬时闰秒事件点覆盖LOD数据随着时间的推移。

情节(IERSdata1972“UnadjustedDiff”);持有情节(IERSdata1972.Properties.Events“UnadjustedDiff”线型=“没有”标志=“+”颜色=“r”);持有

事件数据复制到状态变量的时间表

闰秒的瞬时事件记录在一个事件表中。代表他们的另一种方法是通过使用一个状态变量添加到原始LOD数据。状态变量描述被测过程的“状态”在每个时间点而不是标记特定的瞬间。这个闰秒一个可能状态变量数据是一个指示符变量,记录每个事件日期调整,用缺失值在所有其他的日期。这个方法可行,因为所有的时间戳从事件表也在时间戳IERSdata1972

复制的累积调整时间表附加事件表,使用syncevents函数。这个函数会自动填充的其他元素CumulativeAdjustment变量缺失值。在27日闰秒显示时间表行。

IERSdata1972 = syncevents (IERSdata1972 EventDataVariables =“CumulativeAdjustment”);IERSdata1972 (timerange (“2016-12-29”,“2017-01-04”):)
ans =6×3的时间表日期ExcessLOD UnadjustedDiff CumulativeAdjustment ___________ ____________________ _________________ * * * 29 - 12月- 2016 0.0008055秒26.402秒南26.402秒30 - 12月- 2016 0.0008525秒秒南秒事件< 1 > 31 - 12月- 2016 0.0009173秒26.403秒27秒01 - 1月- 2017 0.001016秒26.404秒南秒02 - 1月- 2017 0.0011845秒26.405秒南秒03 - 1月- 2017 0.0013554秒26.406秒南秒

另一种可能性,更有用的在这个例子中,是添加一个状态变量表示的总合闰秒LOD数据在任何给定的日期。首先删除CumulativeAdjustment变量的时间表。

IERSdata1972。CumulativeAdjustment = [];%删除之前的状态变量

然后分配附加事件表在工作区中局部变量。

lsEvents = IERSdata1972.Properties.Events;

中的数据IERSdata19721972年1月1日开始,在第一个闰秒是补充道。所以,再添加一个事件lsEvents,第一个闰秒的时间。

lsEvents (IERSdata1972.Date (1):) = {“+”秒(0),秒(0)};lsEvents = sortrows (lsEvents)
lsEvents =28日×3 eventtable事件标签变量:<设置>事件长度变量:<瞬时>日期类型CumulativeAdjustment UnadjustedDiff ___________ ____ ____________________是_____________ 01 - 1月- 1972 + 0秒0秒30 - 1972年6月——+ 1秒0.63494秒31 - 12月- 1972 + 2秒1.1864秒31 - 12月- 1973 + 3秒2.2976秒31 - 12月- 1974 + 4秒3.289秒31 - 12月- 1975 + 5秒4.2718秒31 - 12月- 1976 + 6秒5.3334秒31 - 12月- 1977 + 7秒6.3469秒31 - 12月- 1978 + 8秒7.398秒31 - 12月- 1979 + 9秒8.3526秒30 - 1981年6月- 30 + 10秒9.6281秒- jun - 1982 + 11秒10.389秒30 - 1983年6月,+ 12秒11.249秒30 - 1985年6月,+ 13秒12.451秒31 - 12月- 1987 + 14秒13.634秒31 - 12月- 1989 + 15秒14.669 15.379秒31 - 12月- 1990 + 16秒秒30 - jun - 1992 + 17秒16.556秒30 - jun - 1993 + 18秒17.399秒30 - jun - 1994 + 19秒18.216秒31 - 12月- 1995 + 20秒19.442秒30 - jun - 1997 + 21秒20.472秒31 - 12月- 1998 + 22秒21.282秒31 - 12月- 2005 + 23秒22.659秒31 - 12月- 2008 + 24秒23.589秒30 - jun - 2012 + 25秒24.583秒30 - jun - 2015 + 26秒25.671秒31 - 12月- 2016 + 27秒26.403秒

添加事件结束时间将事件转换为区间事件。每间隔一天前下一个闰秒是补充道。最后活动结束时间是最后的日期IERSdata1972

endEvents = [lsEvents.Date(2:结束)- 1;IERSdata1972.Date(结束)];

添加事件结束时间lsEvents作为一个新的变量。然后分配的新变量EventEndsVariable的属性lsEvents。事件表属性指定的变量标签包含事件,事件的长度,或事件结束时间。

lsEvents。EventEnds = endEvents;lsEvents.Properties。EventEndsVariable =“EventEnds”
lsEvents =28日×4 eventtable事件标签变量:<设置>事件结束变量:EventEnds日期类型CumulativeAdjustment UnadjustedDiff EventEnds ___________ ____ ___________ ____________________ * * * 01 - 1月- 1972 + 0秒0秒29日- 1972年6月- 1972年30 - 6月- + 1秒0.63494秒30 - 1972年12月- 1972 - 12月31日+ 2秒1.1864秒30 - 1973年12月- 1973 - 12月31日+ 3秒2.2976秒12月30 - 31 - 1974 - 12 - 1974 + 4秒3.289秒30 - 1975年12月- 1975 - 12月31日+ 5秒4.2718秒30 - 1976年12月- 1976 - 12月31日+ 6秒5.3334秒30 - 12月- 1977年12月31日- 30 - 1977 + 7秒6.3469秒- - 1978年12月31日- 12月- 1978 + 8秒7.398秒12月30 - 31 - 1979 - 12 - 1979 + 9秒8.3526秒29日- 1981年6月- 1981年30 - 6月- + 10秒9.6281秒29日- 1982年6月- 1982年30 - 6月- + 11秒10.389秒29日- 1983年6月30 - 1983 - 6月+ 12秒11.249秒29日- 1985年6月- 1985年30 - 6月- + 13秒12.451秒30 - 12月- 1987年12月31日- 14秒13.634秒- 1987 + 30 - 12月- 1989年12月31日- - 1989 + 15秒14.669秒12月30 - 31 - 1990 - 12 - 1990 + 16秒15.379秒29日- 1992年6月- 1992年30 - 6月- + 17秒16.556秒29日- 1993年6月- 1993年30 - 6月- + 18秒17.399秒29 - 1994年6月- 1994年30 - 6月- + 19秒18.216秒30 - 12月- 1995年12月31日- - 1995 + 20秒19.442秒29 - 1997年6月- 1997年30 - 6月- 12月+ 21秒20.472秒30 - 31 - 1998 - 12 - 1998 + 22秒21.282秒30 - 2005年12月- 2005 - 12月31日+ 23秒22.659秒30 - 12月- 2008年12月31日- 24秒23.589秒- 2008 + 29日- 2012年6月- 2012年30 - 6月- + 25秒24.583秒29日- 2015年6月- 2015年30 - 6月- + 26秒25.671秒12月30 - 31 - 2016 - 12 - 2016 + 27秒26.403秒25 - 12月- 2022

附加lsEventsIERSdata1972

IERSdata1972.Properties。事件= lsEvents;

通过调用复制累积调整syncevents。附加的事件表有间隔事件syncevents填写每一行IERSdata1972期间发生的事件数据的间隔。每一行的IERSdata1972记录发生的累计调整时间。

IERSdata1972 = syncevents (IERSdata1972 EventDataVariables =“CumulativeAdjustment”);IERSdata1972 (timerange (“2016-12-29”,“2017-01-04”):)
ans =6×3的时间表日期ExcessLOD UnadjustedDiff CumulativeAdjustment ___________ ____________________ _________________ * * *事件< 1 > 29 - 12月- 2016 26.402 0.0008055秒秒26秒事件< 1 > 12月30 - 26.402 - 2016 0.0008525秒秒26秒事件< 1 > 31 - 12月- 2016 26.403 0.0009173秒秒27秒事件< 1 > 01 - 1月- 2017 0.001016秒26.404秒27秒> < 1事件02 - 1月- 2017 26.405 0.0011845秒秒27秒事件< 1 > 03 - 1月- 2017 0.0013554秒26.406秒27秒

新的状态变量就像所有其他变量IERSdata1972定义的,其值在每个时间。你可以用它来计算实际的UTC时间之间的差异和不一致,每给所有闰秒调整,通过减去从未经调整的区别。公约是计算实际的差异与相反的符号不一致——UTC,表示每DUT1。

IERSdata1972。DUT1= IERSdata1972.UnadjustedDiff - IERSdata1972.CumulativeAdjustment; IERSdata1972(timerange(“2016-12-29”,“2017-01-04”):)
ans =6×4时间表日期ExcessLOD UnadjustedDiff CumulativeAdjustment DUT1 ___________ ____________________ _________________ * * * _______事件< 1 > 29 - 12月- 2016 0.0008055秒26.402 0.40159秒26秒秒事件< 1 > 12月30 - 26.402 - 2016 0.0008525秒秒26秒0.40239秒事件< 1 > 31 - 12月- 2016 0.0009173秒26.403 -0.59676秒27秒秒事件< 1 > 01 - 1月- 2017 0.001016秒26.404秒27秒-0.59584秒> < 1事件02 - 1月- 2017 0.0011845秒26.405 -0.59482秒27秒秒事件< 1 > 03 - 1月- 2017 0.0013554秒26.406秒27秒-0.59364秒

情节状态变量与数据

日前发表使闰秒调整保持UTC大致同步与不一致。每显示这种调整是如何工作的,情节CumulativeAdjustment随着时间的推移状态变量作为分段常数阶跃函数。阶跃函数接近积累过剩LOD,所以减去它使DUT1小。可视化确认,情节DUT1沿着同一时间轴通过使用stackedplot函数。情节UnadjustedDiffCumulativeAdjustment一起在一个y设在一个传奇,和阴谋DUT1在第二个y设在。

stackedplot (IERSdata1972 {[“UnadjustedDiff”,“CumulativeAdjustment”),“DUT1”})

选择事件或状态变量

两个代表,一个单独的定义的事件和一个状态函数列表,在概念上是不同的。在某些情况下,可能没有一个有用的定义“状态”对应于瞬时事件之间的时间。但当有两个以相似的方式表示是等价的和有用的。例如,选择所有数据后,22日闰秒但是在23日之前,您可以使用一个事件过滤器timerange

EF = eventfilter (IERSdata1972)
EF = eventfilter没有约束,没有选择变量<无约束> VariableNames:日期、类型、CumulativeAdjustment, UnadjustedDiff EventEnds
from22to23 = timerange (EF。CumulativeAdjustment== seconds(22),EF.CumulativeAdjustment == seconds(23),“openright”);data22to23 = IERSdata1972 (from22to23:)
data22to23 =2557×4时间表日期ExcessLOD UnadjustedDiff CumulativeAdjustment DUT1 ___________ ____________________ _________________ * * * _______事件< 1 > 31 - 12月- 1998 0.0010954秒21.282 -0.71811秒22秒秒事件< 1 > 01 - 1月- 1999 0.0009738秒21.283秒22秒-0.71702秒> < 1事件02 - 1月- 1999 0.000888秒21.284 -0.71604秒22秒秒事件< 1 > 03 - 1月- 1999 0.0008605秒21.285 -0.71516秒22秒秒事件< 1 > 04 -简- 1999 0.0008798秒21.286 -0.71429秒22秒秒事件< 1 > 05 - 1月- 1999 0.0008935秒21.287 -0.71342秒22秒秒事件< 1 > 06 - 1月- 1999 0.0009693秒21.287 -0.71252秒22秒秒事件< 1 > 07 - 1月- 1999 0.0010658秒21.288秒22秒-0.71155秒事件< 1 > 08 - 1月- 1999年0.0010857秒21.29 -0.71049秒22秒秒事件< 1 > 09 - 1月- 1999 0.0010715秒21.291秒22秒-0.7094秒事件< 1 > 10 - 1999年1月- 0.0010519秒21.292 -0.70833秒22秒秒事件< 1 > 11 - 1月- 1999 0.0010021秒21.293秒22秒-0.70728秒事件< 1 > 12 - 1月- 1999 0.0008986秒21.294秒22秒-0.70628秒事件< 1 > 13 - 1月- 1999 0.0007891秒21.295秒22秒-0.70538秒事件< 1 > 14 - 1月- 1999 0.0007236秒21.295秒22秒-0.70459秒事件< 1 > 15 - 1999年1月- 0.0006842秒21.296秒22秒-0.70386秒⋮

作为一种替代方法,您可以创建一个逻辑下标的状态变量选择相同的数据。

from22to23 = (IERSdata1972。CumulativeAdjustment== seconds(22)); data22to23 = IERSdata1972(from22to23,:)
data22to23 =2557×4时间表日期ExcessLOD UnadjustedDiff CumulativeAdjustment DUT1 ___________ ____________________ _________________ * * * _______事件< 1 > 31 - 12月- 1998 0.0010954秒21.282 -0.71811秒22秒秒事件< 1 > 01 - 1月- 1999 0.0009738秒21.283秒22秒-0.71702秒> < 1事件02 - 1月- 1999 0.000888秒21.284 -0.71604秒22秒秒事件< 1 > 03 - 1月- 1999 0.0008605秒21.285 -0.71516秒22秒秒事件< 1 > 04 -简- 1999 0.0008798秒21.286 -0.71429秒22秒秒事件< 1 > 05 - 1月- 1999 0.0008935秒21.287 -0.71342秒22秒秒事件< 1 > 06 - 1月- 1999 0.0009693秒21.287 -0.71252秒22秒秒事件< 1 > 07 - 1月- 1999 0.0010658秒21.288秒22秒-0.71155秒事件< 1 > 08 - 1月- 1999年0.0010857秒21.29 -0.71049秒22秒秒事件< 1 > 09 - 1月- 1999 0.0010715秒21.291秒22秒-0.7094秒事件< 1 > 10 - 1999年1月- 0.0010519秒21.292 -0.70833秒22秒秒事件< 1 > 11 - 1月- 1999 0.0010021秒21.293秒22秒-0.70728秒事件< 1 > 12 - 1月- 1999 0.0008986秒21.294秒22秒-0.70628秒事件< 1 > 13 - 1月- 1999 0.0007891秒21.295秒22秒-0.70538秒事件< 1 > 14 - 1月- 1999 0.0007236秒21.295秒22秒-0.70459秒事件< 1 > 15 - 1999年1月- 0.0006842秒21.296秒22秒-0.70386秒⋮

都表示有它们的用处。例如,尽管每个事件可以绘制一个点,状态变量是更方便的形式突出地区事件之间的阴谋。强调该地区22日和23日闰秒之间,使用from22to23创建的逻辑下标CumulativeAdjustment

情节(IERSdata1972“UnadjustedDiff”);持有情节(IERSdata1972 (from22to23:)“UnadjustedDiff”颜色=“r”、线宽= 4);持有

你可以切换两个表示。在这种情况下,闰秒的事件日期CumulativeAdjustment,找到位置的调整变化,减去一天。的eventTimes输出代表添加闰秒的日期,这是瞬时事件。

eventTimes = IERSdata1972.Date (diff (IERSdata1972.CumulativeAdjustment) ~ = 0) + caldays (1)
eventTimes =27×1 datetime30 - 1972年6月- 1972年12月31日- 31 - - 1973年12月31日- 1974年12月31日- 1975年12月31日- 1977年12月31 - 1976 - 12月31日- 1978年12月31日- 1981年6月- 1979年12月30 30 - 1983年6月- 1982年30 - 6月- 30 - 1987年6月- 1985年12月31日- 1990年- 12月- 1989年12月31日——31日30 - 1993年6月- 1992年30 - 6月- 30 - 1995年6月- 1994年12月31日- 30 - 1998年6月- 1997年12月31日- 2008年- 12月- 2005年12月31日——31日30 - 2012年6月- 30 - 2016年6月- 2015 - 12月31日

代表事件,您可以使用事件表,与瞬时事件或间隔事件或状态变量在时间表。表示你使用取决于哪一个是更方便的和有用的计划进行数据分析。你甚至可以表征之间切换。这些陈述都是有用的方法来将事件信息添加到您的时间戳数据的时间表。

另请参阅

|||||||||

相关的话题