我有一个名为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
答案 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));