Extracting Exponential Numbers from Cell Arrays

5 visualizzazioni (ultimi 30 giorni)
I managed to extract data from specific lines in a .txt file, and fit them into 3 different cell arrays. My problem is, I've tried using the regexp command to extract the numbers, but I end up removing the exponential 'E' every time I try it. Here's what I have so far:
FID = fopen('Input.txt');
Cell = textscan(FID,'%s','Delimiter','\n');
fclose(FID);
DATA=Cell{1,1};
Primary_Fission_Rate = DATA(203:89:end);
Primary_Am_Rate = DATA(227:89:end);
Secondary_Am_Rate = DATA(251:89:end);
Tertiary_Am_Rate = DATA(261:89:end);
The format of the last 4 lines of code are basically the same, a 51x1 cell with the output:
FISSION RATE 6.81926E+14 FISS/SEC.
FISSION RATE 5.60842E+14 FISS/SEC.
etc.
I'd like to be able to remove the characters 'FIssion Rate' and 'Fiss/Sec' but keep the exponential.
Thanks in advance.
  1 Commento
Stephen23
Stephen23 il 3 Giu 2018
@Quang Phung: please upload a sample file by clicking the paperclip button.

Accedi per commentare.

Risposta accettata

Greg
Greg il 3 Giu 2018
Modificato: Greg il 3 Giu 2018
You're already using textscan, did you try the "Remove Literal String" option so it never even makes it into MATLAB from the text file?
Otherwise, a simple var = strrep(var,'FISSION RATE',''); et al. will do the trick.
Or the new'ish extractBetween.
  1 Commento
Quang Phung
Quang Phung il 3 Giu 2018
Thank you very much, the strrep command worked just fine. Didn't realize I had to copy the space in 'FISSION RATE ' exactly.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Programming in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by