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

How to create matrix from data in a text file MATLAB?

我有一个名为 epsi_20_20 的文本文件。在这个文件中有一个很大的 table 数据。我希望能够在 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


您可以使用 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

然后您可以 select 元胞数组 A 的最后 6 列,并将字符串转换为数字:

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