Extract numbers out of a .mat file that has both characters and numbers

 Accepted Answer

a=regexp(text,'(?<==)\d+(.)?(\d+)?','match','once')
id=~cellfun(@isempty,a(:,1))
a=str2double(a(id))

2 Comments

Hi, Thanks. The numbers like 2.3*e-4 are being read as 2.3. Not producing the exact numbers. Can you let me know how to fix it.
Standard scientific notation using "E" syntax does not use any multiplier symbol, so your source data is non-standard and therefore MATLAB does not recognize it. Therefore you basically have two choices:
  • Change the source data to use standard E-notation.
  • Read the data into MATLAB as strings, and then do some hackery using regexprep before converting to numeric.

Sign in to comment.

More Answers (0)

Asked:

on 16 Jul 2015

Edited:

on 17 Jul 2015

Community Treasure Hunt

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

Start Hunting!