您的位置:首页 > 编程语言 > MATLAB

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

2014-08-12 20:24 1596 查看
由于要做的项目中涉及到数据处理,初涉及到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行三列,就是最后要求的矩阵
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  matlab 源码 数据