How can i import numerical data from non-tabular text file in MAtLAB?

3 次查看(过去 30 天)
solid rodfin
facet normal 9.997519e-001 2.227527e-002 0.000000e+000
outer loop
vertex 6.477990e+001 3.459198e+001 1.220000e+002
vertex 6.485231e+001 3.242616e+001 1.220000e+002
vertex 6.485231e+001 3.242616e+001 2.775558e-014
endloop
endfacet
I have text file as shown above..I only want to import numerical data from it.
  2 个评论
Walter Roberson
Walter Roberson 2013-5-20
Do you have the same number of "vertex" entries for each "facet" entry? So could each "facet" be converted to a 4 x 3 numeric array?
siddhesh rane
siddhesh rane 2013-5-20
yes i have same number of vertex for each facet..yes it can be converted. how can i do that?

请先登录,再进行评论。

采纳的回答

David Sanchez
David Sanchez 2013-5-20
If test.txt is your txt file, the following code will create a cell C whose cell contains your data ( all of it ). You can iterate along the cell and retrieve the data you need/want.
fid=fopen('test.txt');
C=textscan(fid,'%s');

更多回答(1 个)

David Sanchez
David Sanchez 2013-5-20
fid=fopen('test.txt');
C=textscan(fid,'%s%s%s%s%s%s%s%s','delimiter','\n'); % read each line in string format
fclose(fid)
data1 = char(C{1,2});
data1 = textscan(data1,'%s%s%f%f%f');
data1 = data1(3:5);
for n = 1:3
num_data1(n) = data1{n};
end
num_data = zeros(3,3);
for k =4:6
data= char(C{1,k});
data = textscan(data,'%s%f%f%f%f');
data = data(2:4);
for n = 1:3
num_data(k-3,n) = data{n};
end
end

类别

Help CenterFile Exchange 中查找有关 Import, Export, and Conversion 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by