How to modify the command "find" to make it find values in interval?

조회 수: 2 (최근 30일)
Ismail Qeshta
Ismail Qeshta 2018년 2월 21일
댓글: Ismail Qeshta 2018년 2월 21일
Hi,
The following is for a threshold value. The detects all values larger than a certain "threshold" value (in the code below it is 0.0193364). However, I need it to detect values between interval, for example, any value between 0 and 0.012.
Could anyone please help me? Thank you very much.
The code:
numfiles = 456;
threshold =0.0193364;
linesabovethreshold = zeros(numfiles, 1);
for fileidx = 1:numfiles
filecontent = dlmread(sprintf('result_%d.txt', fileidx));
assert(iscolumn(filecontent), 'file number %d has more than one column', fileidx);
linesabovethreshold(fileidx) = sum(filecontent >= threshold); %only works if file has only one column
end
dlmwrite('Fragility_mm.txt', linesabovethreshold / 1000);

채택된 답변

Birdman
Birdman 2018년 2월 21일
Try this:
numfiles = 456;
low=0;up=0.012;
linesabovethreshold = zeros(numfiles, 1);
for fileidx = 1:numfiles
filecontent = dlmread(sprintf('result_%d.txt', fileidx));
assert(iscolumn(filecontent), 'file number %d has more than one column', fileidx);
linesabovethreshold(fileidx) = sum(filecontent >= low & filecontent <= up); %only works if file has only one column
end
dlmwrite('Fragility_mm.txt', linesabovethreshold / 1000);
  댓글 수: 3
Birdman
Birdman 2018년 2월 21일
It is included as you can see there is a equality sign as well in the condition.
filecontent <= up
Ismail Qeshta
Ismail Qeshta 2018년 2월 21일
Great. Thank you very much Birdman. Your insightful responses were awesome as usual.

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

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by