How do I read only numerical data and ignore other text from input file?
Afficher commentaires plus anciens
Input file looks like this. Is there a way to ignore the specifiers? Is there a way the program allocates variables as given in the file?
0, 1 !t0, y0
1 !tf
0.1 !h
1 !Euler Forward
2 commentaires
Jan
le 3 Nov 2017
It would be helpful, if you explain what you expect as output.
Siddharth Sharma
le 11 Nov 2017
Réponses (1)
Akira Agata
le 12 Nov 2017
Is this what you would like to do?
% After textscan
C = {'0, 1 !t0, y0';...
'1 !tf';...
'0.1 !h';...
'1 !Euler Forward'};
% Extract numbers and store them in variables for each line
tmp = regexp(C{1},'[+-]?(\d+\.?\d*|\.\d+)','match');
t0 = str2double(tmp{1});
y0 = str2double(tmp{2});
tmp = regexp(C{2},'[+-]?(\d+\.?\d*|\.\d+)','match');
tf = str2double(tmp{1});
tmp = regexp(C{3},'[+-]?(\d+\.?\d*|\.\d+)','match');
h = str2double(tmp{1});
tmp = regexp(C{4},'[+-]?(\d+\.?\d*|\.\d+)','match');
EulerForward = str2double(tmp{1});
1 commentaire
Walter Roberson
le 12 Nov 2017
I think the idea was to parse the strings to automatically figure out the variable names.
Catégories
En savoir plus sur Large Files and Big Data dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!