如何从文本文件 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));
我有一个名为 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));