读取未知长度和混合内容的txt文件

时间:2013-07-09 15:44:13

标签: matlab textscan

我试图让Matlab读取一个.unv文件(似乎打开就好了并视为.txt)并收集数据。文件第一部分的示例如下:

-1
   151
bricktest.unv

CUBIT version 14.0 revised 2013-06-01 09:06:37 -0600 (Sat, 01 Jun 2013)
  03-07-13  14:14:00         0         0         0
  03-07-13  14:14:00
CUBIT
  03-07-13  14:14:00
    -1
    -1
   164
        10mm (newton)                  2
  1.00000000000000000D+03  1.00000000000000000D+00  1.00000000000000000D+00
  2.73149999999999960D+02
    -1
    -1
  1716

======================================================================
MATERIAL
======================================================================



    100  Default-Steel
         0  LINE(S) OF TEXT
         0  MATERIAL CLASS(ES):
         0  MATERIAL ATTRIBUTE(S)
         0  MATERIAL COMPONENT(S)
         0  MATERIAL SPECIFICATION(S)
----------------------------------------------------------------------
         0  MATERIAL VARIABLE(S)
----------------------------------------------------------------------
         4  MATERIAL PROPERT(IES)
----------------------------------------------------------------------
MODULUS OF ELASTICITY
         1  VERSION NUMBER
         0  LINE(S) OF TEXT
DIMENSIONS AND UNITS:
PRESSURE                                NEWTON/MILLIMETER^2
CONSTANT
  2.0680000000000000e+005
----------------------------------------------------------------------
POISSONS RATIO
         1  VERSION NUMBER
         0  LINE(S) OF TEXT
DIMENSIONS AND UNITS:
DIMENSIONLESS                           UNITLESS
CONSTANT
  2.8999999999999998e-001
----------------------------------------------------------------------
SHEAR MODULUS
         1  VERSION NUMBER
         0  LINE(S) OF TEXT
DIMENSIONS AND UNITS:
PRESSURE                                NEWTON/MILLIMETER^2
CONSTANT
  8.0155039000000004e+004
----------------------------------------------------------------------
MASS DENSITY
         1  VERSION NUMBER
         0  LINE(S) OF TEXT
DIMENSIONS AND UNITS:
MASS DENSITY                            GRAM/MILLIMETER^3
CONSTANT
  6.9999999999999999e-006
----------------------------------------------------------------------
DEFAULT MATERIAL PROPERT(IES):
MODULUS OF ELASTICITY                   VERSION :          1
POISSONS RATIO                          VERSION :          1
MASS DENSITY                            VERSION :          1
SHEAR MODULUS                           VERSION :          1
----------------------------------------------------------------------
         1  REFERENCE ENTITIES
         1  MATERIAL TYPES
FEM                                     ISOTROPIC MATERIALS
======================================================================
    -1
    -1
  2470

此时前11行对我来说并不是非常相关。我已将此输出解码到我知道“1716”表示材料属性定义的开始的位置。在这个文件中只有一种材料,但在其他文件中可以有一大堆,每一个都以“1716”开头。

我希望能够在这一点上忽略前11行,然后让Matlab存储材料属性数据,但由于我不知道会有多少材料,我需要识别值“1716 “如果出现,请阅读新材料。

最后的数字“2420”也表示不同类型的数据集(长度未知),因此最终我想在文档中搜索这些标记,并将数据保存在数组中,基于它们。

我玩过短语但遇到麻烦......想法?

0 个答案:

没有答案