Importing text file and reading certain values with key terms

조회 수: 2 (최근 30일)
John Vargas
John Vargas 2018년 9월 18일
댓글: John Vargas 2018년 9월 21일
Hello, I am trying to import this text file into matlab but only reading certain values. Ignoring the uncollided data, I want to be able to retrieve the location of each detector (x,y and z) , (z = 0 for all detectors). Also, I want to be able to retrieve the "total" value which can be found at the end of each collided data. I know this data that is being imported is very hard to convert to the values I need but I would appreciate any help. Thank you in advance.
  댓글 수: 8
Paolo
Paolo 2018년 9월 18일
If that is the case, try:
raw = fileread('D1output1.txt');
[~,tok] = regexp(raw,'x,y,z = (\d+\.\d+E\+\d+) (\d+\.\d+E\+\d+)(-\d+\.\d+E\+\d+)\s*\n\s(?!uncollided)','match','tokens');
data=[tok{:}];
x=str2double(data(1:3:end));
y=str2double(data(2:3:end));
z=str2double(data(3:3:end));
John Vargas
John Vargas 2018년 9월 21일
Sorry for the late reply, but when I tried running this code, I get the coordinates for each x and y as a matrix of 1x80 but there should be a total of 100 collided points, thus getting a matrix of 1x100. Do you know why this is the case?

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Data Import and Analysis에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by