如何从文本文件MATLAB中的数据创建矩阵?

时间:2019-12-04 14:59:18

标签: matlab matrix matlab-table

我有一个名为epsi_20_20的文本文件。在此文件中,有一个包含数据的大表。我希望能够在MATLAB中创建仅包含最后六列的值的矩阵。我该怎么做?我尝试加载,但似乎无法正常工作。

##ASTER 13.06.00 CONCEPT table2 CALCULE LE 02/12/2019 A 10:08:31 DE TYPE          
#TABLE_SDASTER                                                                   
INTITULE         NOEUD    RESU     NOM_CHAM         NUME_ORDRE   INST         ABSC_CURV    COOR_X       COOR_Y       COOR_Z       EPXX         EPYY         EPZZ         EPXY         EPXZ         EPYZ        
node1            N2549    finalmoy EPSI_ELNO                   1  0.00000E+00  0.00000E+00  1.00000E+01  3.50000E+01  0.00000E+00  6.26777E-04 -1.78490E-04  0.00000E+00 -1.63122E-05  0.00000E+00  0.00000E+00
node2            N2556    finalmoy EPSI_ELNO                   1  0.00000E+00  0.00000E+00  1.00000E+01  5.00000E+00  0.00000E+00  6.26779E-04 -1.78490E-04  0.00000E+00  1.63087E-05  0.00000E+00  0.00000E+00
node3            N2561    finalmoy EPSI_ELNO                   1  0.00000E+00  0.00000E+00  9.00000E+01  3.50000E+01  0.00000E+00  6.06777E-04 -1.82032E-04  0.00000E+00  3.99969E-08  0.00000E+00  0.00000E+00
node4            N2570    finalmoy EPSI_ELNO                   1  0.00000E+00  0.00000E+00  9.00000E+01  5.00000E+00  0.00000E+00  6.06777E-04 -1.82032E-04  0.00000E+00 -3.99968E-08  0.00000E+00  0.00000E+00


1 个答案:

答案 0 :(得分:2)

您可以使用readmatrix读取文件。首先,您可以使用delimitedTextImportOptions指定一些导入选项。对于您的特定示例,只需指定数据从第4行开始,并且您想要加入定界符(空格)就足够了。

opts = delimitedTextImportOptions('DataLines',4, 'Delimiter', ' ', 'ConsecutiveDelimitersRule', 'join')
A = readmatrix('yourfile.txt', opts) % results in cell array, due to mixed numbers and strings

然后,您可以选择单元格数组A的最后6列,并将字符串转换为数字:

data_of_interest = str2double(A(:,end-5:end));