Matlab读取txt中用空格分隔的数据文件到矩阵

转载。。。哪儿 忘记了

由于要做的项目中涉及到数据处理,初涉及到matlab。今天需要把一组只用空格分开的数据读取到一个三维矩阵,然后对这个矩阵进行处理。

思路是:首先用importdata读入txt文件,形成一个一行N列的矩阵(N是数据个数),接下来通过size计算出矩阵的大小,其实也就是计算出数据的个数,然后算出一个K值,K=N/M(M是要形成的新矩阵的维数)接下来用reshape函数对于这个矩阵进行转换,转换成想要的规格(K行M列),这个地方要注意了,matlab读取数据是按照列的方向进行读取,所以我们这个时候要形成的是一个M行K列的矩阵,然后对这个矩阵进行转置才能得到我们想要的矩阵,以下是源码,例子中我要把数据转换成一个三维矩阵。

A=importdata('data.txt');//读取txt文件到数组A中

[m,n]=size(A);//计算A的大小,此时m=1,n=数据个数

k=n/3;//计算出要形成新矩阵的行数用 总数据个数/新矩阵维数,本例中,M=3

B=reshape(A,3,k);//将A矩阵转换成3行K列的新矩阵

C=B';//C矩阵为K行三列,就是最后要求的矩阵

上一篇:spring项目的 context root 修改之后,导致 WebApplicationContext 初始化两次的解决方法


下一篇:[JS]给String对象添加方法,使传入的字符串字符之间以空格分开输出