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

New to MATLAB?

Loading data from document and isolating numbers.

Asked by ZK

ZK (view profile)

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

ZK (view profile)

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

Thorsten (view profile)

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

ZK (view profile)

on 9 Jan 2013

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

ZK

ZK (view profile)

Products

No products are associated with this question.

1 Answer

Answer by Walter Roberson

Walter Roberson (view profile)

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

2 Comments

ZK

ZK (view profile)

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

Walter Roberson (view profile)

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

Walter Roberson (view profile)

Contact us