MATLAB Answers


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

Asked by siddhesh rane on 20 May 2013
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

I have text file as shown above..I only want to import numerical data from it.


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?

yes i have same number of vertex for each facet..yes it can be converted. how can i do that?


No products are associated with this question.

2 Answers

Answer by David Sanchez
on 20 May 2013
 Accepted answer

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.


  1 Comment

Thank you very much..that was helpful.

Answer by David Sanchez
on 20 May 2013

C=textscan(fid,'%s%s%s%s%s%s%s%s','delimiter','\n'); % read each line in string format
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};
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};


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!