MATLAB如何把表格转为数组?
1、对于一个有多列同类型数据的普通表格,直接使用table2array即可得到对应数组。
数组中的列就是表格中的列拼接而成。

2、表格中的每个变量列不一定是列向量,有可能是宽度大于1的矩阵。
此时使用table2array时,会将这些矩阵横向拼接起来。

3、如果各列的数据类型不同,转化后的数组会取所谓的“dominent type”.
比如,single和double类型都有的话,转化后为single.
single,double,int8都有的话,转化后为int8.

4、但是,如果有的列是数值数组,有的列却是元胞数组(字符串组成的或其它),则无法将它们合并。

5、此时,可以将输入参数改为T(:,[1,3]),即表格T第一列和第三列组成的子表格。
此时可以转化成功。

6、如果表格中的每列都是高维数组,则会按照如图的拼接方式进行拼接。
返回的数组是同样维度的高维数组。

7、此时要注意的事项有二:
一是所有表变量必须有相同的维数,
二是所有表变量除了第二维之外,必须长度相同。(第二维是表变量的合并方向所以可以长度不同)


8、另外,要吧表格转成数组,也可以使用大括号。
T{:,:}等价于table2array(T)
T{:,[1,3]}则相当于取出T的第一列和第三列进行转换。

1、转化为元胞数组非常好理解,直接使用table2cell就可以转化,将表格的列变量都转成元胞数组再拼接起来。

2、使用T.Properties.VariableNames可以获取列变量名称组成的元胞行向量。
因此,如图代码可以把列变量名拼接在第一行。

3、T.Properties.RowNames可以获取行名称组成的元胞列向量。可以使用如图代码将行名称拼在第一列。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:89
阅读量:92
阅读量:182
阅读量:44
阅读量:60