find a row number in text file for certain condition

조회 수: 2 (최근 30일)
sermet OGUTCU
sermet OGUTCU 2021년 4월 26일
댓글: Jan 2021년 4월 26일
data=[1.2;1.0;0.05;0.4;0.3;0.2;0.1;0.05;0.04;0.03;0.03;0.02;0.01;0.001;0.01;0.01;0.001 ] ;
Here, the answer to my problem is 8th row, because the 10 consecutive rows from the 8th row are smaller than 0.10. How can I write a code to determine the row number which satisfies this condition?
  댓글 수: 2
Jan
Jan 2021년 4월 26일
편집: Jan 2021년 4월 26일
Why do you menation a text file?
sermet OGUTCU
sermet OGUTCU 2021년 4월 26일
The text file includes the numeric data as n (row) x 1 (column)

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

채택된 답변

Jan
Jan 2021년 4월 26일
data = [1.2;1.0;0.05;0.4;0.3;0.2;0.1;0.05;0.04;0.03;0.03;0.02;0.01;0.001;0.01;0.01;0.001 ] ;
[b, n, index] = RunLength(data < 0.1);
match = find(b & n >= 10, 1);
result = index(match)
result = 8
function [b, n, index] = RunLength(x)
d = [true; diff(x(:)) ~= 0]; % TRUE if values change
b = x(d); % Elements without repetitions
k = find([d.', true]); % Indices of changes
n = diff(k); % Number of repetitions
index = k(1:numel(k) - 1);
if iscolumn(x)
n = n.';
index = index.';
end
end
  댓글 수: 1
Jan
Jan 2021년 4월 26일
[MOVED from flags] sermet OGUTCU wrote: This solution is highly effective.
@sermet OGUTCU: We use flags here to inform the editors about inappropriate contents like rudeness.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Text Data Preparation에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by