How to filter required data

조회 수: 2 (최근 30일)
Kanakaiah Jakkula
Kanakaiah Jakkula 2016년 5월 8일
댓글: Kanakaiah Jakkula 2016년 5월 8일
Hi,
I have below table. I want to take the data under "actual measurement" till stop, but in between there should not exist except complete or paused or stop. for example I want the below cases:
actual measurement start 2016/4/5
complete BA0K2 23
complete BY0P2 3
stop HYT0KL 54
AND
actual measurement start 2016/4/7
paused VA0L2 89
paused BY0P2 3
stop HYT0KL 54
But I dont want:
measurement restart start 2016/4/7
complete VA0L2 89
paused BY0P2 3
stop HYT0KL 54
AND
actual measurement start 2016/4/7
actual measurement restart start 2016/4/7
paused VA0L2 89
stop HYT0KL 54
My Table:
actual measurement start 2016/4/5
complete BA0K2 23
complete BY0P2 3
stop HYT0KL 54
measurement restart start 2016/4/7
complete VA0L2 89
paused BY0P2 3
stop HYT0KL 54
actual measurement start 2016/4/7
paused VA0L2 89
paused BY0P2 3
stop HYT0KL 54
actual measurement restart start 2016/4/7
paused VA0L2 89
stop HYT0KL 54
actual measurement start 2016/4/7
actual measurement restart start 2016/4/7
paused VA0L2 89
stop HYT0KL 54
  댓글 수: 2
Walter Roberson
Walter Roberson 2016년 5월 8일
What is the data type of this table? If it is character, are the fields separated by tab?
Kanakaiah Jakkula
Kanakaiah Jakkula 2016년 5월 8일
cell array

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

채택된 답변

Weird Rando
Weird Rando 2016년 5월 8일
In order for you to run this code you must convert your data (aka the table) into cell using the cell2table() and store it into variable named 'data'
result = {};
startRows = find(strcmp(data(:,1),'actual measurement'));
stopRows = find(strcmp(data(:,1),'stop'));
nloop = length(startRows);
for i = 1:nloop
sectionStop = find(startRows(i)<stopRows,1,'first');
if strcmp(data(startRows(i)+1:stopRows(sectionStop)-1,1),'complete') | strcmp(data(startRows(i)+1:stopRows(sectionStop)-1,1),'paused')
result = [result; data(startRows:stopRows(sectionStop),:)];
end
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Introduction to Installation and Licensing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by