我正在嘗試將一種結構化文本文件讀入MatLab。它看起來像這樣:Matlab閱讀文本問題
Header
Result Damage "Load Analysis" 0.002000000 Vector OnNodes
ComponentNames "DN", "DT"
Values
1 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 0.00000000E+00
3 0.00000000E+00 0.00000000E+00
4 0.00000000E+00 0.00000000E+00
End Values
Result Damage "Load Analysis" 0.004000000 Vector OnNodes
ComponentNames "DN", "DT"
Values
1 0.00000000E+00 0.00000000E+00
2 0.00000000E+00 0.00000000E+00
3 0.00000000E+00 0.00000000E+00
4 0.00000000E+00 0.00000000E+00
End Values
而且這些值在塊中重複。我只需要讀取文件中每個塊的重複塊內的行中的3個值。我想過這樣的代碼:
fid=fopen('FileName.res');
while ~feof(fid)
tline = fgetl(fid);
if ischar(strtrim(tline)) == 1
continue
else
%command to put the values within a matrix of kind A[inf,3]
end
end
的第一個問題是,當它涉及到的是實際上的數字命令ischar返回的價值線。這樣我仍然無法進入將數字放入矩陣的第二部分。關於這些問題的任何想法?
'fgetl'的輸出始終是一個字符數組,除非該行只包含換行符。一個建議是調整你的邏輯,而不是尋找'價值',並閱讀,直到你看到'結束價值' – excaza 2014-12-03 14:45:44