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=數據個數class

k=n/3;//計算出要造成新矩陣的行數用 總數據個數/新矩陣維數,本例中,M=3import

B=reshape(A,3,k);//將A矩陣轉換成3行K列的新矩陣im

C=B';//C矩陣爲K行三列,就是最後要求的矩陣數據

相關文章
相關標籤/搜索