表
表可以包含不同类型的数组与命名变量
描述
表
列数组存储用于或表格数据,如从一个文本文件或表格。每一块用于数据存储在一个表变量。表变量可以具有不同的数据类型和大小,只要所有的变量有相同的行数。表变量的名称,就像结构的字段名称。使用总结
函数来得到信息表。
如果你的表格数据包含时间戳,考虑使用时间表
存储和分析你的数据。
表的索引,使用光滑的括号()
返回子表或大括号{}
提取内容。你可以使用名称访问变量和行。更多信息索引使用数字和名字,明白了访问数据表。
创建
您可以从文件中读取数据到一个表使用导入工具
或者是readtable
函数。另外,使用表
下面描述功能从现有工作空间变量创建一个表。
你也可以创建一个表,让空间变量的值是后来补上。与预先分配空间变量创建一个表,使用表
函数与“大小”
作为第一个输入参数,如下所述。
描述
T =表(
从输入变量创建一个表var1,…, varN
)var1,…, varN
。可以有不同的大小和数据类型的变量,但是所有的变量必须有相同数量的行。
如果输入工作空间变量,然后表
分配他们的名字作为输出表中变量名。否则,表
指定变量名称的形式‘Var1’,……,”Var
,在那里N
”
是变量的数量。N
T =表
创建一个空0-by-0表。
输入参数
var1,…, varN
- - - - - -输入变量
数组
输入变量指定为数组具有相同的行数。输入变量可以有不同的大小和不同的数据类型。
常见的输入变量数值数组、逻辑阵列,字符数组,数组、结构或单元数组。输入变量也可以是对象数组。这样一个数组必须支持索引的形式万博1manbetxvar (indexN index1…)
,在那里index1
是一个数字或逻辑向量对应变量的行吗var
。此外,必须实现一个数组vertcat
方法和大小
方法昏暗的
论点。
例子:表([1:4]”,(4、3、2)、眼睛(4,2))
从变量创建一个表有四行,但大小不同。
例子:表([1:3]”,{“一”,“两个”;“三个”},分类({' A ', ' B '; ' C '}))
从变量创建一个表有三行,但是不同的数据类型。
深圳
- - - - - -预先分配表的大小
双元素数值向量
预先分配的大小表,指定为一个双元素数值向量。的第一个元素深圳
指定的行数,第二个元素指定表变量的数量。
创建变量,没有任何行,指定0
的第一个元素深圳
。
例子:50 T =表(“大小”,[3],VariableTypes,{“字符串”,“双”,“datetime”})
预分配50行表包含一个字符串数组,两个数组,数组和一个datetime。
例子:T =表(“大小”,[0 4],VariableTypes, varTypes)
指定0行和四个变量。
varTypes
- - - - - -预先分配变量的数据类型
单元阵列的特征向量|字符串数组
预先分配的变量的数据类型,指定为一个单元阵列特征向量或一个字符串数组。指定的类型的数量varTypes
必须等于指定变量的第二个元素的数量吗深圳
。
varTypes
可以包含任何数据类型的名称,包括表中显示的名称。
数据类型名称 |
每个元素的初始值 |
---|---|
|
双或单精度 |
|
双或单精度 |
|
签署了8 - 16 - 32位或64位整数 |
|
Unsigned 8 - 16 - 32位或64位整数 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
标量结构没有字段 |
|
表不变量 |
|
没有变量和时间表 |
对于任何其他数据类型,使用的初始值是值类型或类”填入“未派职务的一个数组的元素。
如果您指定“字符”
作为一个数据类型表
预分配相应的变量作为一个单元阵列的特征向量,而不是作为一个字符数组。最佳实践是避免创建表或时间表字符数组变量。在处理文本数据表或一个时间表,考虑使用一个字符串数组或一个分类数组。
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:T =表(年龄、身高、体重、RowNames, LastName)
创建一个表行名称所指定的变量姓
。
VariableNames
- - - - - -变量名
单元阵列的特征向量|字符串数组
变量名称,指定为一个单元阵列特征向量或一个字符串数组的元素非空的和独特的。
数组中的人名的数目必须相等的数量表变量。
的
表
函数还存储的变量名VariableNames
表的属性。变量名可以有Unicode®字符,包括空格和非ascii字符。
例子:T =表(纬度、经度、“VariableNames”(“纬度”、“经度”))
从输入数组创建一个表纬度
和朗
和名字对应的表变量纬度
和经度
。
RowNames
- - - - - -行名称
单元阵列的特征向量|字符串数组
行名称,指定为一个单元阵列特征向量或一个字符串数组的元素非空的和独特的。
数组中的人名的数目必须相同的行数。
的
表
函数还存储行名称RowNames
表的属性。行名称可以有Unicode字符,包括空格和非ascii字符。
的
表
函数从行中删除任何前导或尾随空格字符的名字。
例子:T =表(年龄、身高、体重、RowNames, LastName)
创建一个表行名称所指定的变量姓
。
DimensionNames
- - - - - -维度名称
双元素单元阵列的特征向量|双元素字符串数组
自从R2021a
双元素单元阵列的维度名称指定为一个特征向量或双元素字符串数组的元素非空的和独特的。
的
表
函数还存储的维度名称DimensionNames
表的属性。维度名称可以有Unicode字符,包括空格和非ascii字符。
R2021a之前,您可以指定维度名称只通过设置DimensionNames
财产。
例子:T =表(年龄、身高、体重、“RowNames”姓,“DimensionNames”, (“PatientName”、“PatientData”))
创建一个表的第一个维度的名称在哪里“PatientName”
和第二个维度的名称“PatientData”
。
属性
访问表的元数据属性
一个表包含元数据描述表及其变量的属性。使用语法访问这些属性
,在那里的表
. properties。PropertyName
属性的名称。例如,您可以访问变量的名称在表PropertyName
T
使用语法T.Properties.VariableNames
。
你可以返回一个总结的所有元数据属性使用语法
。的表
. properties
表提供通过元数据访问属性
财产,因为你可以直接访问表数据使用点语法。例如,如果表中T
有一个变量命名Var1
,然后你可以访问变量中的值通过使用语法T.Var1
。
表元数据
DimensionNames
- - - - - -维度名称
{“行”,“变量”}
(默认)|双元素单元阵列的特征向量|双元素字符串数组
双元素单元阵列的维度名称指定为一个特征向量或一个双元素的字符串数组。
维度名称可以有Unicode字符,包括空格和非ascii字符。
如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
您可以使用两个维度名称访问表数据。
如果表有行名称,使用点语法和第一个维度名称,然后你可以访问行名称作为一个向量。
如果你使用点语法和第二维度名称,然后从所有的数据在一个数组变量连接在一起,好像你有索引表使用
{:,:}
语法。
例子
创建一个表,显示其维度名称。您可以访问行名称和数据使用维度名称和点语法。
负载病人T =表(年龄、身高、体重、收缩压,舒张压,…“RowNames”、LastName);T.Properties.DimensionNames
ans =1 x2单元格{'行'}{}“变量”
使用第一个维度名称访问行名称。显示前五名。
T.Row (1:5)
ans =5 x1细胞{“史密斯”}{“约翰逊”}{威廉姆斯的}{“琼斯”}{“棕色”}
使用第二维度名称访问数据。这个语法是等价的T {:,:}
。
T.Variables
ans =100×538 43 71 176 124 93 69 64 131 125 163 109 77 83 64 119 122 80 67 133 117 75 49 46 68 33 142 121 70 64 142 130 88 68 183 115 78 68 180 115 82 28⋮31 66 132 118 86
修改尺寸使用的名字Properties.DimensionNames
财产。改变了维度名称,您可以访问使用语法行名称和数据T.Patient
和T.Data
分别。
T.Properties.DimensionNames= [“病人”,“数据”];T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{‘病人’‘数据’}VariableNames:{“年龄”“高度”“重量”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {100} x1细胞CustomProperties:没有自定义属性集。使用addprop和rmprop CustomProperties修改。
RowNames
- - - - - -行名称
{}
(默认)|单元阵列的特征向量|字符串数组
行名称,指定为一个单元阵列特征向量或一个字符串数组的元素非空的和独特的。如果RowNames
非空,然后行名字的数量必须等于表中的行数。
行名称可以有Unicode字符,包括空格和非ascii字符。
如果你分配行名称与前导或尾随空格字符,然后用MATLAB®从行中删除他们的名字。
行名称是可见的,当你查看表。此外,您可以使用行名称在括号或大括号来访问表数据。
访问行名称的另一种方法是使用点语法和第一个维度的表的名称。
如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
例子
创建一个表。然后添加行名称和访问行通过他们的名字。
负载病人T =表(年龄、身高、体重、吸烟,收缩压,舒张压,SelfAssessedHealthStatus);T。SelfAssessedHealthStatus =字符串(SelfAssessedHealthStatus);
添加行名称使用Properties.RowNames
财产。默认情况下,表没有行名称,但你可以在任何时候添加它们。
T.Properties。RowNames= string(LastName); head(T,5)
年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus看上去___长得一样________ _____ ________________________史密斯38 71 176真正的124 93“优秀”约翰逊43 69 163错误109 77 64 131错误的“公平”威廉姆斯125 83“好”琼斯40 67 133错误117 75“公平”布朗49 64 119错误122 80“好”
访问行名称的另一种方法是通过使用点语法的第一个维度表的名称。显示前五行的名字。
T.Properties.DimensionNames
ans =1 x2单元格{'行'}{}“变量”
T.Row (1:5)
ans =5 x1细胞{“史密斯”}{“约翰逊”}{威廉姆斯的}{“琼斯”}{“棕色”}
索引的表行名称。
T ([“史密斯”,“棕色”),:)
ans =表2×7年龄身高体重吸烟者收缩压舒张压SelfAssessedHealthStatus看上去___长得一样________ _____ ________________________史密斯38 71 176真正的124 93“优秀”布朗49 64 119错误122 80“好”
描述
- - - - - -表描述
”
(默认)|特征向量|字符串标量
表描述、指定为一个特征向量或字符串标量。当使用这个描述是可见的总结
函数。
如果指定这个属性使用字符串标量,然后转换和存储为一个特征向量。
例子
创建一个表。修改表的描述。显示结果的摘要。
负载病人T =表(LastName、年龄、身高、体重);T。LastName =字符串(T.LastName);T.Properties。描述=“模拟病人数据”;总结(T)
描述:模拟病人数据变量:姓:100 x1字符串年龄:100年x1双重价值:25分钟39马克斯50高度中位数:100 x1双重价值:60分钟中等67 Max 72重量:100 x1双重价值:最小111中位数142.5最大202
用户数据
- - - - - -额外的表信息
[]
(默认)|数组
附加的表信息,指定为一个数组。您可以将任何类型的数据附加到一个表使用这个属性。
例子
创建一个表。附加一个匿名函数的用户数据与表相关联。
负载病人T =表(LastName、年龄、身高、体重、吸烟,收缩压、舒张压);公式= @ (x) x ^ 2;T.Properties。用户数据= formula; T.Properties
ans = TableProperties属性:描述:“用户数据:@ x (x)。^ 2 DimensionNames:{“行”“变量”}VariableNames:{“姓”“年龄”“高度”“重量”“烟民”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties:没有自定义属性设置。使用addprop和rmprop CustomProperties修改。
变量的元数据
VariableNames
- - - - - -变量名
单元阵列的特征向量|字符串数组
变量名称,指定为一个单元阵列特征向量或一个字符串数组的元素非空的和独特的。人名的数目必须相等数量的变量。
变量名可以有Unicode字符,包括空格和非ascii字符。
变量名是可见的,当查看表,当使用
总结
函数。此外,您可以使用变量名称在括号内,花括号内,或用点索引访问表数据。如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
例子
创建一个表的默认变量名。然后修改名称使用Properties.VariableNames
财产。
([T =表“史密斯”;“阮”;“威廉姆斯”;“费尔南德斯”;“棕色”]、[38,43岁,38;40;49),…(71;69;64;67;64],[176;163;131;133;119))
T =5×4表Var1 Var2 Var3 Var4 ___________ ____上“史密斯”38 71 176“阮”43 69 163”威廉姆斯“38 64 131“费尔南德斯”40 67 133“棕色”49 64 119
T.Properties.VariableNames= [“姓”,“年龄”,“高度”,“重量”]
T =5×4表LastName年龄身高体重___________ ___交“史密斯”38 71 176“阮”43 69 163”威廉姆斯“38 64 131“费尔南德斯”40 67 133“棕色”49 64 119
一个基本的显示和修改变量的方法是使用点语法访问它们的名字。
T.Age
ans =5×138 43 38 40 49
T.Age(1) = 53岁
T =5×4表LastName年龄身高体重___________ ___交“史密斯”53 71 176“阮”43 69 163”威廉姆斯“38 64 131“费尔南德斯”40 67 133“棕色”49 64 119
VariableDescriptions
- - - - - -变量描述
{}
(默认)|单元阵列的特征向量|字符串数组
变量描述,指定为一个单元阵列特征向量数组或字符串这个属性可以是一个空单元阵列,这是缺省设置。如果数组不是空的,那么它必须包含尽可能多的元素有变量。您可以指定一个空字符向量或空字符串的变量没有描述。
当使用变量描述是可见的
总结
函数。如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
例子
创建一个表。修改变量描述。显示结果的摘要。
负载病人T =表(LastName、年龄、身高、体重、吸烟,收缩压、舒张压);T。LastName =字符串(T.LastName);T.Properties。VariableDescriptions = [”“,”“,”“,”“,…“病人曾经被一个吸烟者”,…“收缩压”,“舒张压”];总结(T)
变量:姓:100 x1字符串年龄:100 x1双重价值:25分钟39马克斯50高度中位数:100 x1双重价值:60分钟中等67 Max 72重量:100 x1双重价值:111分钟142.5 Max 202吸烟者中位数:100 x1逻辑属性:描述:病人曾经是一个吸烟者价值观:对34个错66收缩压:100 x1双重属性:描述:收缩压值:109分钟122 Max 138舒张中位数:100 x1双重属性:描述:舒张压值:最小68中位数81.5最大99
VariableUnits
- - - - - -变量的单位
{}
(默认)|单元阵列的特征向量|字符串数组
变量的单位,指定为一个单元阵列特征向量或一个字符串数组。这个属性可以是一个空单元数组,这是缺省设置。如果数组不是空的,那么它必须包含尽可能多的元素有变量。您可以指定一个空字符向量或空字符串的变量没有单位。
当使用变量单位是可见的
总结
函数。如果你使用一个字符串数组指定这个属性,那么它被转换和存储单元阵列的特征向量。
例子
创建一个表。修改变量的单位。显示结果的摘要。
负载病人T =表(LastName、年龄、身高、体重、吸烟,收缩压、舒张压);T。LastName =字符串(T.LastName);T.Properties。VariableUnits= [”“,“年”,“在”,“磅”,”“,“毫米汞柱”,“毫米汞柱”];总结(T)
变量:姓:100 x1字符串年龄:100 x1双重性质:单位:年价值观:25分钟39马克斯50高度中位数:100 x1双重性质:单位:在价值观:60分钟中等67 Max 72重量:100 x1双重性质:单位:磅值:111分钟142.5 Max 202吸烟者中位数:100 x1逻辑值:对34个错66收缩压:100 x1双重性质:单位:毫米汞柱值:109分钟122 Max 138舒张中位数:100 x1双重性质:单位:毫米汞柱价值观:最小68中位数81.5最大99
VariableContinuity
- - - - - -作为连续或离散变量
[]
(默认)|单元阵列的特征向量|字符串数组
作为连续或离散变量,指定为一个单元阵列特征向量或一个字符串数组。
而表和时间表都有这个属性,只有时间表使用它。有关更多信息,请参见VariableContinuity
的属性时间表
。
自定义元数据
CustomProperties
- - - - - -定制的元数据表及其变量
CustomProperties
对象
定制的元数据表及其变量指定为一个CustomProperties
对象。
的CustomProperties
对象是一个定制的元数据的容器,您可以添加一个表。默认情况下,CustomProperties
为零的属性。你添加到每个属性CustomProperties
变量可以包含表元数据或元数据。如果一个元数据属性包含变量,那么它的值必须是一个数组,数组中元素的个数等于表变量的数量。
注意:您可以添加或删除只有使用定制的元数据的属性addprop
和rmprop
。你不能添加或删除的属性
对象。的表
. properties
例子
创建一个表。
负载病人T =表(LastName、年龄、身高、体重、吸烟,收缩压、舒张压);
添加属性,可以定制的元数据表及其变量。在这个例子中,元数据是乐器的名字,真正的
和假
值指示变量是否策划,和一个输出文件的名称。添加属性,使用addprop
函数。
T = addprop (T) [“工具”,“如何”,“OutputFile”]、[“变量”,“变量”,“表”]);T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames:{“姓”“年龄”“高度”“重量”“烟民”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFile:[]仪器:[]如何:[]
定制的元数据使用点赋值语法。当你分配一个数组文本值的自定义元数据,最佳实践是使用一个字符串数组,而不是单元阵列的特征向量。如果一个属性CustomProperties
单元阵列的特征向量,然后没有机制来防止你以后分配非文本值作为单元阵列的元素。
T.Properties.CustomProperties。仪器= [”“,”“,“高度杆”,“规模”,”“,“血压袖带”,“血压袖带”];T.Properties.CustomProperties。ToPlot = [false false true true false true true]; T.Properties.CustomProperties.OutputFile =“patientData.csv”;T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames:{“姓”“年龄”“高度”“重量”“烟民”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):OutputFile: patientData。csv的仪器:[”“”“”高度杆”“规模”““血压袖带”“血压袖带”)如何:(0 0 1 1 0 1 1)
删除OutputFile
的财产T
。
T = rmprop (T)“OutputFile”);T.Properties
ans = TableProperties属性:描述:“用户数据:[]DimensionNames:{“行”“变量”}VariableNames:{“姓”“年龄”“高度”“重量”“烟民”的收缩压舒张压的}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames:{}自定义属性(访问使用t.Properties.CustomProperties。<名称>):仪器:[”“”“”高度杆”“规模”““血压袖带血压袖带”)如何:(0 0 1 1 0 1 1)
例子
在表中存储相关数据变量
一群病人数据存储在表中。您可以执行计算,并将结果存储在相同的表。同样,你可以表注释来描述你的工作表的变量。
首先,创建工作空间变量的病人数据。变量可以包含任意数据类型,但必须有相同数量的行。
LastName = {“桑切斯”;“约翰逊”;“李”;“Diaz”;“棕色”};年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= (124 93;109 77;125 83;117 75;122 80);
创建一个表,T
作为一个工作空间变量的容器。的表
函数使用工作空间变量名称如表变量的名称T
。表变量可以有多个列。例如,血压
数组变量T是一个5×2。
T =表(LastName、年龄、抽烟,身高、体重、血压)
T =5×6表LastName吸烟者年龄身高体重血压___________看上去___长得一样真正的_________________{桑切斯的}71 176 124 93{“约翰逊”}43假69 163 109 77{‘李’}38真正64 131 125 83 {“Diaz”} 40假67 133 117 75{“棕色”}49真正的64 119 122 80
您可以使用点索引访问表变量。例如,计算平均高度的病人使用的值T.Height
。
meanHeight =意味着(T.Height)
meanHeight = 67
计算身体质量指数(BMI),并添加一个新表变量。你也可以添加和名称表变量在一个步骤中,使用点语法。
T。体重指数= (T.Weight * 0.453592)。/ (T.Height * 0.0254)。^ 2
T =5×7表LastName吸烟者年龄身高体重血压BMI ___________看上去___长得一样_________________ ______{桑切斯的}38真正71 176 124 93 24.547{“约翰逊”}43假69 163 109 77 24.071{‘李’}38真正64 131 125 83 22.486 {“Diaz”} 40假67 133 117 75 20.831{“棕色”}49真正的64 119 122 80 20.426
注释与BMI的描述表计算。你可以标注T
和它的变量使用元数据通过T.Properties
。
T.Properties。描述=“病人数据,包括身体质量指数(BMI)计算身高和体重的;T.Properties
ans = TableProperties属性:描述:“病人数据,包括身体质量指数(BMI)计算身高和体重的用户数据:[]DimensionNames:{“行”“变量”}VariableNames:{“姓”“年龄”“烟民”“高度”“重量”“血压”“身体质量指数”}VariableDescriptions: {} VariableUnits: {} VariableContinuity: [] RowNames: {} CustomProperties:没有自定义属性设置。使用addprop和rmprop CustomProperties修改。
访问所有表数据矩阵
访问所有数据从一个表为一个矩阵,用二维表的名称。
创建一个表,五行数据大约一组的患者。
年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= (124 93;109 77;125 83;117 75;122 80);T =表(年龄、吸烟、身高、体重、血压)
T =5×5表看上去年龄吸烟者身高体重血压___长得一样真71 176 124 93 43假_________________ 69真正的163 109 77 64 131 125 83 67 133 117 75 49假真64 119 122 80
显示的名称表使用的维度DimensionNames
财产。第二个维度是缺省名称变量
。
T.Properties.DimensionNames
ans =1 x2单元格{'行'}{}“变量”
访问表数据作为一个矩阵使用语法T.Variables
。这个语法相当于使用花括号语法访问所有内容,T {:,:}
。如果表数据不能被连接到一个矩阵,然后一条错误消息。
T.Variables
ans =5×638 43 93 71 176 124 1 0 69 163 109 77 64 131 125 83 67 0 133 117 75 49 1 64 119 122 80
重命名第二个维度。如果你改变名字,然后你就可以使用新名字来访问数据。
T.Properties.DimensionNames{2} =“PatientData”;T.PatientData
ans =5×638 43 93 71 176 124 1 0 69 163 109 77 64 131 125 83 67 0 133 117 75 49 1 64 119 122 80
指定的大小和变量类型
Preallocate表通过指定它的大小和变量的数据类型。的表
默认值来填充变量的函数适合您指定的数据类型。它也给出了变量缺省名称,但您也可以分配自己的变量名。预先配置提供了空间数据添加到表中。
深圳= 3 [4];varTypes = {“双”,“datetime”,“字符串”};T =表(“大小”、深圳、“VariableTypes”varTypes)
T =4×3表Var1 Var2 Var3 ___ _____ _____ NaT <失踪> 0 NaT <失踪> 0 NaT <失踪> 0 NaT <失踪>
指定名称的变量,使用“VariableNames”
名称-值对的论点。
varNames = {“温度”,“时间”,“站”};T2 =表(“大小”、深圳、“VariableTypes”varTypes,“VariableNames”varNames)
T2 =4×3表温度时间站___________ ___ _____ NaT <失踪> 0 NaT <失踪> 0 NaT <失踪> 0 NaT <失踪>
添加行数据的前两行T2
。预先配置可以是一个有用的技术,当你的代码添加了一行的数据,或几行数据。而不是增长表每次添加一行,您可以填写表变量,房间已经为你的数据。
T2 (1) = {75 datetime (“现在”),“S1”};T2 (2) = {68 datetime (“现在”)+ 1,“S2”}
T2 =4×3表温度时间站___________ ____________________ _____ 75 03 - mar - 2023 06:17:16“S1”68年04 - mar - 2023 06:17:16“S2”NaT <失踪> 0 NaT <失踪>
你可以封装一个行数据值的单元数组。当你分配一个行从一个单元数组,从细胞数组元素分配给表中的行。
指定变量名称
从数组创建一个表。指定表变量名称,使用“VariableNames”
名称-值对的论点。例如,您可以使用“VariableNames”
指定名称的其他输入参数不工作空间变量。
表(分类(T = {“米”;“F”;“米”})(45、32、34),…{“纽约”;“CA”;“马”}、逻辑((1,0,0)),…“VariableNames”,{“性别”,“年龄”,“状态”,“投票”})
T =3×4表性别年龄投票______ ___ _____ _____米45{“纽约”}真F 32 {“CA”}假米34{‘马’}假
创建一个表与国家名称作为行名称。您可以同时指定“VariableNames”
和“RowNames”
当使用名称-值对表
函数。
表(分类(T = {“米”;“F”;“米”})(45、32、34),逻辑((1,0,0)),…“VariableNames”,{“性别”,“年龄”,“投票”},…“RowNames”,{“纽约”;“CA”;“马”})
T =3×3表性别年龄投票______ ___ _____纽约米45真CA F 32假马米34个假的
指定行名称
指定一个表行名称。表不需要行名称,但是如果你指定他们,然后你可以通过表的索引行名称。你也可以访问一组行名称使用的第一个维度表的名称。
创建包含病人数据的数组。
LastName = {“桑切斯”;“约翰逊”;“李”;“Diaz”;“棕色”};年龄=[38,43岁,38;40;49);身高= [71;69;64;67;64);重量= [176;163;131;133;119);
创建一个表包含数组。指定姓
作为表行名称的来源。桌子上只有三个变量。行名称不表变量,而是一个表的属性。
T =表(年龄、体重、身高、“RowNames”、LastName)
T =5×3表年龄体重身高___交桑切斯38 176 71约翰逊43 163 69李布朗38 131 64 Diaz 40 133 67 49 119 64
自从行有行名称,你可以索引的行T
的名字。
T (“李”:)
ans =1×3表年龄体重身高___交李38 131 64
指定多个行,使用单元阵列。
T ({“李”,“棕色”},:)
ans =2×3表年龄体重身高___交李38 131 64布朗49 119 64
的名字来访问所有的行T
作为一个单元阵列,使用语法T.Row
。默认情况下,行
是第一个维度的表的名称。
T.Row
ans =5 x1细胞{“桑切斯”}{“约翰逊”}{‘李’}{“Diaz”}{“棕色”}
改变第一个维度的名称。如果你改变名字,然后你就可以使用新名称访问行名称。
T.Properties.DimensionNames{1} =“姓”;T.LastNames
ans =5 x1细胞{“桑切斯”}{“约翰逊”}{‘李’}{“Diaz”}{“棕色”}
指定表变量和行名称使用字符串数组
从R2017a,您可以创建使用双引号字符串,并添加字符串数组作为表变量。
FlightNum = (1261; 547; 3489);客户= [“琼斯”;“棕色”;“史密斯”];日期= datetime(2016年,12日20:22)';评级=分类([“好”;“穷”;“公平”]);评论= [“班机准时离开,而不是拥挤”;…“晚离开,跑出晚餐选择”;…“晚了,但是只有半个小时。否则罚款。”];T =表(FlightNum、客户、日期、评级、评论)
T =3×5表FlightNum客户评级评论日期_____ ________ ___________ ______ _________________________________________________ 1261“琼斯”20 - 12月- 2016好”班机准时离开,而不是拥挤的“547”布朗“21 - 12月- 2016穷人“晚离开,跑出晚餐选择”3489“史密斯”22 - 12月- 2016年公平”晚了,但是只有半个小时。否则罚款。”
使用中的文本行名称的字符串数组,字符串数组转换为一个单元阵列的特征向量。然后创建一个表行名称。
客户= cellstr(客户);T =表(FlightNum、日期、评级,评论,“RowNames”、客户)
T =3×4表FlightNum评级评论日期_____ ___________ ______ _________________________________________________琼斯1261 20 - 12月- 2016好“班机准时离开,而不是拥挤”布朗547年21 - 12月- 2016年贫困“晚离开,跑出晚餐选择”史密斯3489年22 - 12月- 2016年公平”晚了,但是只有半个小时。否则罚款。”
构建表通过分配单独的变量
创建工作空间变量包含降雪总量在不同的日期在三个地点。这些变量是行向量。
日期= {“12/25/11”,“1/2/12”,“1/23/12”,“2/7/12”,“2/15/12”};location1 = (20 5 13 0 17);location2 = [18 9 21 5 12];location3 =(26 10 16三15);
从这些变量创建一个表的一个方法是调用表
函数的语法T =表(日期,location1、location2 ', location3 ')
。因为工作空间变量是行向量,你必须转置他们放进用于数据的表。因此,输入参数表达式,而不是简单变量。作为一个结果,表
创建T
用默认的变量名Var1
,Var2
,Var3
,Var4
。你可以分配更多的有意义的名称T.Properties.VariableNames
在您创建T
。但是,它可能更方便地创建一个空表,然后添加变量一次新的名称。
创建一个空表。置工作空间变量,并将它们添加到表的列向量。分配每个工作空间变量的一部分T
表变量,提供一个有意义的名字。
T =表;T。日期=日期';T。Natick = location1'; T.Boston = location2'; T.Worcester = location3'
T =5×4表_______出生日期纳蒂克波士顿伍斯特_____ {‘12/25/11}20 18 26 {‘1/2/12}5 9 10 {‘1/23/12}13 21 16 {‘2/7/12}0 5 3 {‘2/15/12}17 12 15
指定变量名称使用任何字符
从R2019b开始,您可以指定表的变量名是无效的MATLAB®标识符。这样的变量名可以包含空格,非ascii字符,可以有任何字符作为主角。当你访问一个变量名,附上引号。
创建一个表存储数据的一组病人。开始与他们的年龄和地位吸烟者。
年龄=[38,43岁,38;40;49);吸烟者=逻辑([1,0,1,0,1]);身高= [71;69;64;67;64);重量= [176;163;131;133;119);血压= (124 93;109 77;125 83;117 75;122 80);T =表(年龄、吸烟)
T =5×2表年龄吸烟者___ _____ 38真的43假38真正40假49真的
添加变量名的血压读数29日- 2019年5月,血压读数的
。您可以使用点语法添加或访问变量。自其名称不是一个有效的MATLAB标识符,使用括号和引号点语法。
t (29日- 2019年5月,血压读数的)=血压
T =5×3表吸烟者年龄29日——2019年5月,血压读数___ _____ __________________________________ 38真124 93 43假假真109 77 125 83 117 75 49真正122 80
当表变量名是有效的MATLAB标识符,您可以使用点语法没有括号和引号。
T.Height= Height; T.Weight = Weight
T =5×5表吸烟者年龄29日——2019年5月,血压阅读身高体重___ _____ __________________________________交38真124 93 71 176 43假109 77 69 163 38真的假的125 83 64 131 117 75 122 80 64 119 67 133 49如此
索引T
使用变量名。
T (:, {“年龄”,“抽烟”,29日- 2019年5月,血压读数的})
ans =5×3表吸烟者年龄29日——2019年5月,血压读数___ _____ __________________________________ 38真124 93 43假假真109 77 125 83 117 75 49真正122 80
限制
使用单引号为这些输入的名字:
“DimensionNames”
(因为R2021a)“RowNames”
“大小”
“VariableTypes”
“VariableNames”
为了避免混淆变量的输入,不使用双引号字符串标量(例如
“RowNames”
这些名字。
提示
一个功能列表,接受或返回表,看看表。
扩展功能
高大的数组
计算和数组的行比装入内存。
这个函数支持高阵列的限制:万博1manbetx
的语法
TT =表(T1, T2,…)
构造一个高表从几个高数组(T1, T2,…)
。您可以使用“VariableNames”
名称-值对参数来指定变量名。
有关更多信息,请参见高内存不足数据数组。
C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。
分布式阵列
分区大数组在内存使用并行计算集群的工具箱相结合™。
版本历史
介绍了R2013bR2022a:改进的性能,当加下标点符号或多级索引
加下标当使用点符号是比R2021b R2022a更快。同时,加下标与多级索引更快。
例如,当您使用点符号来引用一个表变量106元素,表现R2022a比R2021b快超过4倍。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数= 1:1;抽搐;%是指变量使用点符号为我= x = t.Var1指数;结束toc结束
执行时间大约是:
R2021b:0.15秒
R2022a:0.035秒
类似地,当您使用点符号分配一个数组与10表变量6元素,表现R2022a比R2021b快3.6倍。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数= 1:1;x =兰迪(1 e6, 1 e6, 1);抽搐;%分配给变量使用点符号为我=指数t。Var1 = x;结束toc结束
执行时间大约是:
R2021b:0.23秒
R2022a:0.063秒
此外,当您使用点符号和括号将个人价值分配给表变量元素,表现R2022a比R2021b快超过4倍。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数=兰迪(1 e6, 10000);抽搐;%分配给元素使用点符号和括号为i = t.Var1指数(i) =兰德;结束toc结束
执行时间大约是:
R2021b:0.53秒
R2022a:0.12秒
时间在Windows的代码®10日,英特尔®CPU w - 2133 @ 3.60 GHz Xeon测试系统通过调用每个版本的timingTest
函数。
R2021b:改进的性能时用花括号加下标指定元素
下标赋值使用花括号是比R2021a R2021b更快。
例如,当您分配到三个表变量与106元素,表现R2021b快大约4.4倍,如下所示。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数=兰迪(1 e6, 10000);抽搐;%分配行向量随机值的随机选择行为我=指数t{我:}=兰德(1、3);结束toc结束
执行时间大约是:
R2021a:7.4秒
R2021b:1.7秒
10代码时间在Windows系统3.6 GHz Intel Xeon w - 2133 CPU通过调用timingTest
在R2021a和R2021b函数。
R2021a:维度名称不能保留的名称相匹配
MATLAB提出一个错误如果你分配一个维度名称匹配其中一个保留的名字:“属性”
,“RowNames”
,“VariableNames”
,或“:”
。在以前的版本中,MATLAB提出警告和修改他们不同的维度名称,以便保留的名字。
R2020a:改进的性能通过下标来当分配元素表变量
下标赋值到表变量显著更快。性能本质上是不变的元素在每个表变量。
例如,当您使用点索引与10个元素分配给一个变量6元素,表现比R2019b R2020a大约是快2倍,如下所示。
函数timingTest () t =表(0 (1)e6, 1));指数=兰迪(1 e6, 10000);抽搐;为i = t.Var1指数(i) =兰德;结束toc结束
执行时间大约是:
R2019b:1.20秒
R2020a:0.59秒
同样,作业使用花括号是更快。当你分配到三个表变量与106元素,表现比R2019b快R2020a大约是1.2倍,如下所示。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数=兰迪(1 e6, 10000);抽搐;为我=指数t{我:}=兰德;结束toc结束
执行时间大约是:
R2019b:8.04秒
R2020a:6.68秒
代码是定时在Windows 10,英特尔至强®w - 2133 @ 3.60 GHz测试系统通过调用函数timingTest
。
性能改进发生只有当你做表写在下面的作业在一个函数。没有改进时加下标为表在命令行或内try - catch
块。
R2019b:变量名称可以包含前导和尾随空白字符
表和时间表变量名与前导或尾随空格字符不修改。
在以前的版本中,前导和尾随空白字符被删除从指定变量名时使用“VariableNames”
名称-值对的论点,或分配它们VariableNames
财产。
手动删除这些字符,首先使用strtrim
函数的名称,然后指定变量名称的表或时间表。
R2019b:变量名和维度名称必须是唯一的
MATLAB提出一个错误如果你指定一个表相匹配的变量名维度的名字,或一个维度名称相匹配的变量名。在以前的版本中,MATLAB提出警告和修改他们独特的名字。
R2019b:通过下标来分配元素时的性能提升到大表变量
下标赋值到大表变量显著更快。性能是现在基本上恒定元素在每个表变量的数量。
例如,当您使用点索引与10个元素分配给一个变量6元素,表现R2019b大约是40 x倍,如下所示。
函数timingTest () t =表(0 (1)e6, 1));指数=兰迪(1 e6, 10000);抽搐;为i = t.Var1指数(i) =兰德;结束toc结束
执行时间大约是:
R2019a:47.83秒
R2019b:1.20秒
同样,作业使用花括号是更快。例如,当您分配到三个表变量与106元素,表现R2019b快大约是18倍。
函数timingTest () t =表(0 (1)e6, 1), 1 (1) e6, 1),南(1 e6, 1));指数=兰迪(1 e6, 10000);抽搐;为我=指数t{我:}=兰德;结束toc结束
执行时间大约是:
R2019a:156.39秒
R2019b:8.51秒
10代码时间在Windows系统3.6 GHz Intel Xeon w - 2133 CPU通过调用每个版本的timingTest
函数。
表变量越大,越大的性能提升。然而,性能改进发生只有当你做表写在下面的作业在一个函数。没有改进时加下标为表在命令行中,或者在try - catch块。
Apri esempio
如果dispone di una versione modificata di questo esempio。Desideri aprire questo esempio con le modifiche星期二吗?
第一MATLAB
海脂肪clic苏联合国collegamento切corrisponde questo第一MATLAB:
Esegui il第一inserendolo所以nella隙缝di第一MATLAB。我浏览器web非supportano万博1manbetx comandi MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。