這部分數據:Matlab的:獲得一個文本的一部分的行數文件
GLOBAL DOF SET =
1 3 4 5 6 33 35 36 37 38
65 67 68 69 70 97 99 100 101 102
129 131 132 133 134 161 163 164 165 166
GLOBAL DOF SET NODES, LABELS =
1 UX 1 UZ 2 UX 2 UZ 3 UX
3 UZ 4 UX 4 UZ 5 UX 5 UZ
6 UX 6 UZ 7 UX 7 UZ 8 UX
8 UZ 9 UX 9 UZ 10 UX 10 UZ
11 UX 11 UZ 12 UX 12 UZ 13 UX
13 UZ
MASS INFORMATION:
TOTAL MASS = 12197.
CENTROID (X,Y,Z) = 30.000 0.0000 8.5809
MOMENT OF INTERTIA ABOUT ORIGIN:
IXX = 0.10651E+07 IYY = 0.18383E+08 IZZ = 0.17318E+08
IXY = 0.0000 IYZ = 0.0000 IZX =-0.31397E+07
我怎樣才能獲得GLOBAL DOF SET NODES, LABELS =
部分的行數?
在這種情況下,編號爲6
。
我認爲這可能是找到GLOBAL DOF SET NODES, LABELS =
行(使用strfind?)和結束空行。但是如何?
您可以使用MATLAB'regexp'。試試這個 - ''regexp(your_line,'\ S(GLOBAL.DOF.SET.NODES.LABELS。*)*');'如果沒有匹配,繼續從1開始遞增一個計數器。只要你打一場比賽就停下來,比如一個非空的矩陣,然後讓你得到你的線路號碼。 – ha9u63ar 2014-11-09 19:15:24
您的最後一段的確確定了正確的方式來做到這一點。你卡在哪裏?打開文件?將內容作爲行的單元數組獲取?調用'strfind'? – 2014-11-09 19:15:43
@BenVoigt,我不知道如何編寫'最後一行是空行','第一行是xxx'。 – cqcn1991 2014-11-10 07:13:50