How do I read begin to read data after a string?

30 vues (au cours des 30 derniers jours)
Desmond Hutchinson
Desmond Hutchinson le 5 Août 2020
Commenté : Walter Roberson le 5 Août 2020
In a txt file, I want to collect fcz data after "Concrete Stresses", how do I also Import the txt file to do so appropriately.
CONCRETE STRESSES
*****************
ELMT fcx fcy fcz Vcxy Vcyz Vcxz
(MPa) (MPa) (MPa) (MPa) (MPa) (MPa)
1 0.000 0.000 0.000 0.000 0.000 0.000
2 0.000 0.000 0.000 0.000 0.000 0.000
3 0.000 0.000 0.000 0.000 0.000 0.000
4 0.000 0.000 0.000 0.000 0.000 0.000
5 0.000 0.000 0.000 0.000 0.000 0.000

Réponse acceptée

Walter Roberson
Walter Roberson le 5 Août 2020
filename = 'ConcreteStresses.txt';
S = fileread(filename);
idx = regexp(S, '^\s*\d', 'once', 'lineanchors');
fmt = repmat('%f', 1, 7);
data = cell2mat( textscan(S(idx:end), fmt) );
fcz = data(:,4);
  1 commentaire
Walter Roberson
Walter Roberson le 5 Août 2020
In the case where the position of the first line of numeric data is known, it is even easier:
filename = 'ConcreteStresses.txt';
fid = fopen(filename);
fmt = repmat('%f', 1, 7);
data = cell2mat( textscan(fid, fmt, 'headerlines', 6));
fclose(fid);
fcz = data(:,4);

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Biological Physics dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by