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.


Walter Roberson
on 20 May 2013

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 on 20 May 2013

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

siddhesh rane on 20 May 2013

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};


Discover MakerZone

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

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!