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

Loading data from document and isolating numbers.

Asked by ZK on 9 Jan 2013

Hi, I have to add to creating program a complicated database from other file with united numbers sometimes with no space between them. Which formula should I use to load from random line in data document, and isolate them to other calculations.

Example 1.543 345.1200 1.32399.0099.00 1.3399.00

Thank you.

4 Comments

ZK on 9 Jan 2013

Yes of course is always the same value 99.00

So expected values are 1.543 345.1200 1.323 99.00 99.00 1.33 99.00

Thorsten on 9 Jan 2013

Unless you have some further information about the values of the numbers (e.g., always > 10) or the format (e.g., number of significant digits) you cannot retrieve the original numbers, because you can cut a chunk of digits at any positions other than those just before and after a . that would leave you with this single '.', which is not a number.

ZK on 9 Jan 2013

Thorsten like I said I have this value. It always looks like there is no space before 99.00

ZK

Products

No products are associated with this question.

1 Answer

Answer by Walter Roberson on 9 Jan 2013
Accepted answer
NumericLine = str2double( regexp( regexprep(TheLine, '99\.0', ' &'), '\s+', 'split') );

2 Comments

ZK on 10 Jan 2013

Thank You, You were very helpful, I check it. Can I work with this formula when I have whole database loaded with fopen and fscanf with numbers characters and words?

Walter Roberson on 10 Jan 2013

You would need to have scanned the line as a string, so you might as well fgetl() instead of fscanf()

Walter Roberson

Contact us