MATLAB导入txt和excel文件技巧汇总

在使用MATLAB的时候,想必各位一定会遇到导入数据的问题。如果需要导入的数据其数据量巨大的话,那么在MATLAB编辑器中将这些数据复制粘贴进来,显然会在编辑器中占据巨大的篇幅,这是不明智的。

一般来说储存这些数据的文件有两种形式:

  • txt文件
  • excel表格

针对这两种类型的文件,需要使用两个不同的函数。

就导入txt文件来说,个人习惯使用importdata这个函数。

导入txt文件

01 | 导入全是数字类型的txt文件(一)

如果导入的txt文件中,储存的数据全是数字类型的,且同一行的两个数字之间使用空格或者制表符进行分隔。这种形式的txt文件如下所示。
MATLAB导入txt和excel文件技巧汇总_第1张图片
储存这种形式数据的txt文件直接使用如下代码即可。

present01=importdata('present01.txt');

在MATLAB运行之后的结果如下:
MATLAB导入txt和excel文件技巧汇总_第2张图片

02 | 导入全是数字类型的txt文件(二)

如果数据不像刚才给出的数据那么规整,那么就不能继续使用上面的代码了

如果txt文件储存如下的数据:

MATLAB导入txt和excel文件技巧汇总_第3张图片
很明显这个txt文件,第一行只有1,第二行有2和3,第三行有4、5、6和7,第四行有8、9、10和11,第五行有12、13、14和15。

如果我们继续使用上面的代码,看看能否成功导入数据。

present02=importdata('present02.txt');

在MATLAB运行之后结果如下,是一个15行1列的矩阵,这个很明显和我们想要的形式不太一样。

MATLAB导入txt和excel文件技巧汇总_第4张图片
可以发现前两行的数据个数与后三行的数据个数不同,所以在实际导入的时候需要分开导入,这时可以使用如下代码导入present02.txt文件。https://www.jianshu.com/p/9a0acabb3c84

filename='present02.txt';               %文件名
delimiterIn = ' ';                      %列分隔符
headerlinesIn = 2;                      %读取从第 headerlinesIn+1 行开始的数值数据
present02=importdata(filename,delimiterIn,headerlinesIn);
dataset=present02.data;       

你可能感兴趣的:(excel,java,python,matlab,vba)