Using sscanf and NaN
Show older comments
Greetings,
So if i have the following:
a = '21414839.260 112535757.19909 2294.184 21414838.320 87690207.10148 1787.672'
Using:
A=sscanf(a,'%f')
Will return:
A =
1.0e+08 *
0.2141
1.1254
0.0000
0.2141
0.8769
0.0000
But if If the last 3 numbers are missing from the line :
a = '21414839.260 112535757.19909 2294.184 '
I want this to be returned:
A =
1.0e+08 *
0.2141
1.1254
0.0000
NaN
NaN
NaN
How can I make this possible?
Accepted Answer
More Answers (1)
Star Strider
on 6 Jun 2014
Use sscanf with two output arguments:
% Known input length
L = 6;
a = '21414839.260 112535757.19909 2294.184'
[A, knt] = sscanf(a, '%f');
A(knt+1:L) = NaN;
produces:
A =
21.4148e+006
112.5358e+006
2.2942e+003
NaN
NaN
NaN
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!