主要内容

调整时间

在时间表中重新采样或聚合数据,并解决重复或不规则的时间

描述

例子

TT2 =调整时间(TT1newTimeStep方法返回一个时间表,其中包含来自的变量TT1行时间是由时间步间隔的newTimeStep.的调整时间函数对变量中的数据进行重采样或聚合TT1使用指定的函数方法.您可以使用调整时间:

  • 插值数据值TT1在不同的时间。

  • 将数据聚合到时间箱中(例如,从月数据创建包含季度平均值的时间表)。

  • 删除的行TT1有重复的行时间。

  • 把不规律的时间表变成规律的时间表,因为newTimeStep指定常规行时间。

newTimeStep输入参数是一个字符向量或字符串,用于指定预定义的时间步长。例如,当newTimeStep“每天”,方法“的意思是”,然后TT2包含来自数据的每日均值TT1

第一排的时间TT2时间阶梯上最早的排时间是从TT1.行乘以TT2覆盖的行时间范围TT1.然而,TT2可能不包括任何实际的行时间TT1,因为TT1可能没有任何行时间落在任何常规的行时间上TT2

在…中插入或填充值TT2对不同的变量使用不同的方法,指定VariableContinuity的属性TT1.有关更多信息,请参见使用不同的方法重计时和同步时间表变量

要从多个时间表重新采样或聚合数据,请参见同步

例子

TT2 =调整时间(TT1“常规”,方法“步伐”,dt使用时间步长计算规则间隔的行时间dt.的dt输入参数是一个标量持续时间或日历持续时间,指定任意大小的时间步长。的行次数TT2的行时间的范围TT1

当时间步长不是可以指定为字符向量或字符串的预定义时间步长之一时,使用此语法。

例子

TT2 =调整时间(TT1“常规”,方法“SampleRate”,Fs使用抽样率计算规则间隔的行次数Fs.的Fs输入参数是一个正的数值标量,指定每秒采样的数量(Hz)。

例子

TT2 =调整时间(TT1新时期方法将时间表变量数据调整为时间向量新时期,使用指定的方法方法.的新时期时间向量可以是不规则的,但它必须是一个已排序的日期时间或持续时间向量,并且包含唯一的值。《纽约时报》在新时期成为排次的TT2

例子

TT2 =调整时间(TT1newTimeStep控件调整时间表数据“fillwithmissing”方法。TT2哪里有丢失的数据指示器TT2是否有一行时间与任何一行时间不匹配TT1

如果TT1行时间重复的行和TT2那么行时间是否与重复的行时间匹配呢TT2中的每组行的第一行TT1用重复的行乘以匹配。

TT2 =调整时间(TT1“常规”,“步伐”,dt使用时间步长计算规则间隔的行时间dt并且,在需要的地方插入缺失的数据指示器。

TT2 =调整时间(TT1,“常规”,“SampleRate”,Fs使用抽样率计算规则间隔的行次数Fs并且,在需要的地方插入缺失的数据指示器。

TT2 =调整时间(TT1新时期返回一个时间表,其中包含丢失的数据指标新时期不匹配行时间TT1

例子

TT2 =调整时间(___名称,值使用一个或多个指定的附加选项调整时间表数据名称,值对。您可以将此语法与前面任何语法的输入参数一起使用。

例子

全部折叠

创建大约每小时的时间表数据,但在时间上有一些不规则。插值数据,使输出时间表具有固定的每小时行时间。

时间= datetime ({“2015-12-18 07:02:12”“2015-12-18 08:00:47”...“2015-12-18 09:01:37”“2015-12-18 10:03:10”...“2015-12-18 10:59:34”});Temp = [37.3; 41.9; 45.7; 42.3; 39.8);压力= [30.1;29.9;30.03;29.9;29.8);TT =时间表(时间、温度、压力)
TT =5×2时间表时间温度压力____________________ ____________ 18- 12 -2015 07:02:12 37.3 30.1 18- 12 -2015 08:00:47 41.9 29.9 18- 12 -2015 09:01:37 45.7 30.03 18- 12 -2015 10:03:10 42.3 29.9 18- 12 -2015 10:59:34 39.8 29.8

要用三次样条插值重新采样,请指定样条的

TT2 =调整时间(TT),“每小时”样条的
TT2 =5×2时间表时间温度压力____________________ ______________ 18- 12 -2015 07:00:00 37.228 30.124 18- 12 -2015 08:00:00 41.824 29.899 18- 12 -2015 09:00:00 45.694 30.029 18- 12 -2015 10:00:00 42.552 29.91 18- 12 -2015 11:00:00 39.808 29.8

制作一个每15分钟测量一次体温和脉搏的时间表。

时间=[分钟(0):分钟(15):分钟(105)]';Temp = [98; 97.5; 97.9; 98.1; 97.9; 98; 98.3; 97.8);脉冲= (80;75;73;68;69;65;72;71);TT =时间表(时间、温度、脉冲)
TT =8×2时间表时间温度脉冲_______ ____ _____ 0分钟98 80 15分钟97.5 75 30分钟97.9 73 45分钟98.1 68 60分钟97.9 69 75分钟98 65 90分钟98.3 72 105分钟97.8 71

计算每小时时间箱中每个读数的平均值。当您根据时间箱聚合数据时,输出时间表的行时间是时间箱的左边缘。

TT2 =调整时间(TT),“每小时”“的意思是”
TT2 =2×2的时间表时间温度脉冲______ ______ _____ 0分钟97.875 74 60分钟98 69.25

创建一个时间表,包含时间、温度和压力的读数,大约在半小时的标记,但遗漏了一个上午9点的测量值。

时间= datetime ({“2015-12-18 07:29:53”“2015-12-18 08:00:00”...“2015-12-18 08:31:02”“2015-12-18 09:30:00”});Temp = (37.3; 41.9; 45.7; 39.8);压力= (30.1;29.9;30.03;29.8);TT1 =时间表(时间、温度、压力)
TT1 =4×2时间表时间温度压力  ____________________ ____ ________ 18 - 12月18 - 2015 07:29:53 37.3 30.1 41.9 - 29.9 - 12月- 2015 08:00:00 12月18 - 45.7 - 30.03 - 2015 08:31:02 18 - 12月- 2015 09:30:00 39.8 - 29.8

指定30分钟的时间步长。方法将30分钟指定为持续时间值,因为30分钟不是预定义的时间步骤“步伐”名称-值对的论点。的数据重新采样TT1使用线性插值。

dt =分钟(30);TT2 =调整时间(TT1,“普通”“线性”“步伐”dt)
TT2 =6×2时间表时间温度压力____________________ ______________ 18- december -2015 07:00:00 32.736 30.298 18- december -2015 07:30:00 37.318 30.099 18- december -2015 08:00:00 41.9 29.9 18- december -2015 08:30:00 45.573 30.026 18- december -2015 09:00:00 42.802 29.917 18- december -2015 09:30:00 39.8 29.8

使用数据的列向量创建时间表。行时间在10到50毫秒之间。

强度= [100 98.7 95.2 101.4 99.1]';时间=毫秒([11 20 34 40.3 49.9])';TT1 =时间表(时间、强度)
TT1 =5×1的时间表时间强度__________ _________ 0.011秒100 0.02秒98.7 0.034秒95.2 0.0403秒101.4 0.0499秒99.1

中的数据重新采样TT1使用100赫兹的采样率。

TT2 =调整时间(TT1,“普通”“线性”“SampleRate”, 100)
TT2 =5×1的时间表时间强度________ _________ 0.01秒100.14 0.02秒98.7 0.03秒96.2 0.04秒101.1 0.05秒99.076

创建一个包含时间、温度和压力读数的时间表。

时间= datetime ({“2015-12-18 07:29:53”“2015-12-18 08:00:00”...“2015-12-18 08:31:02”“2015-12-18 09:30:00”});Temp = (37.3; 41.9; 45.7; 39.8);压力= (30.1;29.9;30.03;29.8);TT1 =时间表(时间、温度、压力)
TT1 =4×2时间表时间温度压力  ____________________ ____ ________ 18 - 12月18 - 2015 07:29:53 37.3 30.1 41.9 - 29.9 - 12月- 2015 08:00:00 12月18 - 45.7 - 30.03 - 2015 08:31:02 18 - 12月- 2015 09:30:00 39.8 - 29.8

创建一个时间矢量,并在矢量中的时间插入时间表数据。这个时间矢量从早上八点开始。如果你用“步伐”参数,则输出时间表将从7:00 AM开始。使用时间向量的一个原因是确保输出时间表以指定的时间开始和结束。

新时期= [datetime (“2015-12-18 08:00:00”(30):分钟):datetime (“2015-12-18 09:30:00”));TT2 =调整时间(TT1,新时期,“线性”
TT2 =4×2时间表时间温度压力  ____________________ ______ ________ 18 - 12月18 - 2015 08:00:00 41.9 29.9 45.573 - 30.026 - 12月- 2015 08:30:00 12月18 - 42.802 - 29.917 - 2015 09:00:00 18 - 12月- 2015 09:30:00 39.8 - 29.8

制作一个包含时间和风速和风向测量的时间表。

时间= datetime ({“2015-12-18 07:00:00”“2015-12-18 08:03:47”...“2015-12-18 09:00:00”“2015-12-18 10:00:00...“2015-12-18 10:59:34”});=风速(13.4;6.5;7.3;8.5;2.3);WindDirection =分类({“不”“N”“不”“西北”' W '});TT1 =时间表(时间,风速,WindDirection)
TT1 =5×2时间表时间WindDirection风速  ____________________ _________ _____________ 18 - 12月- 2015年07:00:00 13.4东北18 - 12月- 2015 08:03:47 6.5 N 18 - 12月- 2015年09:00:00 7.3东北18 - 12月- 2015 10:00:00 8.5西北18 - 12月- 2015 10:59:34 2.3 W

将数据调整为每小时的时间向量。插入缺失的数据指示器TT2在哪里TT1没有小时时间向量的数据。

TT2 =调整时间(TT1,“每小时”
TT2 =5×2时间表时间风速风向____________________ _________ _____________ 18- 12月-2015 07:00:00 13.4网元18- 12月-2015 08:00:00 NaN  18- 12月-2015 09:00:00 7.3网元18- 12月-2015 10:00:00 8.5西北18- 12月-2015 11:00:00 NaN 

加载一个时间表。方法调整时间表变量调整时间函数和针对不同变量的不同方法。

加载一个带有波士顿温度、风速和降雨量测量值的时间表。

负载bostonTT波士顿
波士顿=6×3的时间表时间温度风速雨___________________ _________________ 2016-06-09 06:03:00 59.5 0.1 0.05 2016-06-09 12:00:23 63 2.3 0.08 2016-06-09 18:02:57 61.7 3.1 0.13 2016-06-10 06:01:47 55.4 5.7 0.15 2016-06-10 12:06:00 62.3 2.6 0.87 2016-06-10 18:02:57 58.8 6.2 0.33

调整数据,生成日平均温度和风速,以及日降雨量总和。调整时间对所有时间表变量应用相同的方法。要应用不同的方法,将索引放入时间表以选择变量,并调用调整时间对于您使用的每种方法。

BOS =波士顿(:,{“临时”“风速”});TT1 =调整时间(BOS,“每天”“的意思是”
TT1 =2×2的时间表时间临时风速  ___________________ ______ _________ 2016-06-09就是61.4 - 1.8333 2016-06-09就是58.833 - 4.8333
BOS =波士顿(:,“雨”);TT2 =调整时间(BOS,“每天”“和”
TT2 =2×1的时间表时间下雨  ___________________ ____ 2016-06-09就是0.26 2016-06-09就是1.35

将所有结果合并在一个时间表中,串联TT1而且TT2

Tt = [tt1 tt2]
TT =2×3的时间表时间临时雨风速  ___________________ ______ _________ ____ 2016-06-09就是61.4 1.8333 0.26 2016-06-09就是58.833 4.8333 1.35

将时间表数据归类到小时箱中。将时间箱的右边或结束时间指定为行时间。默认情况下,时间箱的左边或开始时间是行时间。

制作一个每隔15分钟测量一次体温和脉搏的时间表。

时间=(分钟(15):分钟(15):分钟(105)]';Temp = [97.5; 97.9; 98.1; 97.9; 98; 98.3; 97.8);脉冲= (75;73;68;69;65;72;71);TT =时间表(时间、温度、脉冲)
TT =7×2时间表时间温度脉冲_______ ____ _____ 15分钟97.5 75 30分钟97.9 73 45分钟98.1 68 60分钟97.9 69 75分钟98 65 90分钟98.3 72 105分钟97.8 71

计算每小时时间箱中每个读数的平均值。指定输出时间表的行时间是时间箱的右边。因为包含了右边的边,所以在第一次时间箱中包含了60分钟的读数。

TT2 =调整时间(TT),“每小时”“的意思是”“IncludedEdge”“对”
TT2 =2×2的时间表时间温度脉冲_______ ______ ______ 60分钟97.85 71.25 120分钟98.033 69.333

计算均值,用左边作为行时间。其平均值与中值不同TT2,因为60分钟的阅读现在在第二个时间箱里。

TT3 =调整时间(TT),“每小时”“的意思是”
TT3 =2×2的时间表时间温度脉冲______ ______ _____ 0分钟97.833 72 60分钟98 69.25

输入参数

全部折叠

输入时间表。

输出时间表中间隔时间的时间步长,指定为字符向量。newTimeStep可以是表中预定义的任何时间步骤。

时间步长

描述

“年”

一年

“季度”

一个季度

“月”

一个月

“周”

一个星期

“每天”

有一天,

“每小时”

一个小时

“详细”

一分钟

“第二”

一秒钟

任意大小的时间步长,指定为日期时间标量或持续时间标量。

数据类型:datetime|持续时间|calendarDuration

抽样速率,指定为正数值标量。Fs每秒采样个数(Hz)。

新的时间向量,指定为日期时间向量或持续时间向量。新的时间向量必须是列向量。新时期可以有不同的行数TT1

调整时间表数据的方法,指定为字符向量、字符串标量或函数句柄。您可以使用列出的任何方法来调整数据TT1

填补方法

的行复制数据TT1当行次数为TT2的匹配行次数TT1.然后,填充剩下的行TT2数据指标缺失。

若要用常量而不是缺失的数据指示器填充其余行,请指定方法作为“fillwithconstant”并使用“不变”名称-值对的论点。

方法

描述

“fillwithmissing”

用缺失的数据指示器填补空白(例如,对于数值型变量)。

“fillwithconstant”

的值填充空白“不变”名称-值对的论点。默认值为0

最近邻方法

的行复制数据TT1一排排的TT2根据指定的方法,它的行次数是最接近的匹配。TT1必须按行次数排序。

方法

描述

“以前”

从输入时间表中最近的上一个近邻复制数据,从行时间向量的末尾开始。如果有重复的行时间,那么“以前”表示最后一个副本。

“下一个”

在输入时间表中,从行时间向量的开头开始,从下面最近的邻居复制数据。如果有重复的行时间,那么“下一个”表示第一个副本。

“最近的”

从输入时间表中最近的位置复制数据。

插值方法

插入数据值TT2的相邻行中的数据值TT1.输入时间表必须具有已排序且唯一的行时间。的第一行和最后一行时间以外的数据如何外推TT1,可以使用“EndValues”名称-值对的论点。

方法

描述

“线性”

使用线性插值。

样条的

使用分段三次样条插值。

“pchip”

使用保持形状的分段三次插值。

“makima”

使用改进的Akima立方Hermite插值。

聚合方法

的行聚合数据TT1的行时间指定的超时箱TT2.的每一行时间TT2是时间容器的左边缘,下一个连续行时间是右边缘。默认情况下,左边包含在时间箱中。要控制时间容器中是否包括左侧或右侧的容器边,请使用“IncludedEdge”名称-值对的论点。

如果你指定时间向量新时期,然后新时期必须按升序排序。

所有列出的方法都省略了年代,NaTS,以及其他缺失的数据指标,除了函数.若要包含丢失的数据指示器,请指定函数作为在聚合数据时包含它们的函数句柄。

方法

描述

“和”

将每个时间箱中的值相加。

“刺激”

计算每个时间箱中的值的乘积。

“的意思是”

计算每个时间箱中的值的平均值。

“中值”

计算每个时间箱中值的中位数。

“模式”

计算每个时间仓中的值的模式。

“最小值”

计算每个时间箱中的最小值。

“马克斯”

计算每个时间箱中的最大值。

“数”

计算每个时间箱中的值的数量。

“firstvalue”

在每个时间箱中使用第一个值。

“lastvalue”

使用每个时间bin中的最后一个值。

@func

使用函数句柄指定的函数(例如,@std计算每个时间仓中的值的标准差)。函数必须返回标量或行向量的输出参数,并且必须接受空输入。

默认的方法

默认方法相当于离开方法未指明的。

方法

描述

“默认”(默认)

方法指定的每个变量方法,可以用缺失的数据指示器填充空白VariableContinuity属性的输入时间表。

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。

在R2021a之前,名称和值之间用逗号隔开,并括起来的名字在报价。

例子:TT2 =调整时间(TT1,新时期,“常数”,1)创建时间表TT2然后赋值-1的行中的元素TT2的行时间不匹配的行时间TT1

当方法为时,填补空白的值“fillwithconstant”,指定为逗号分隔的对,由“不变”和一个数组。默认值为0.指定的值的数据类型“不变”必须与时间表变量的数据类型兼容。

例子:TT2 =调整时间(TT1,“每小时”、“fillwithconstant”,“常数”,“没有一个”)填补了空白TT2用字符向量“没有”当所有的变量TT2包含文本。

使用插值方法时的外推方法,指定为逗号分隔的对,由“EndValues”,要么“extrap”或一个标量。如果指定标量,则其数据类型必须与所有时间表变量兼容。

方法

描述

“extrap”(默认)

方法指定的方法进行外推方法输入参数

标量

通过用标量填充输入行时间范围之外的空白进行外推

例子:TT2 =调整时间(TT1,“每天”,“以前”,“EndValues”,1000年)填补了空白TT2使用前面的行值TT2行时间是否在行时间的范围内TT1,并与值1000在哪里TT2行乘以在这个范围之外。

要包含在每个时间库中的边,指定为逗号分隔的对,由“IncludedEdge”,要么“左”“对”.的每一行时间TT2是时间容器的左边缘,下一个连续行时间是右边缘。

包括边缘

描述

“左”(默认)

所有的箱子都包括左箱子边,除了最后一个箱子,它包括两个边

“对”

所有的箱子都包括右边的箱子边,除了第一个箱子,它包括两边的边

如果您指定“左”,则时间箱包括左边,但最后一个箱包括两条边。如果您指定“对”,则时间箱包括右边的边,但第一个箱包括两条边。

例子:TT2 =调整时间(TT1,“每小时”、“说”、“IncludedEdge”,“正确的”)包括每个时间库的右库边。

扩展功能

版本历史

介绍了R2016b

全部展开

Baidu
map