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

2 vues (au cours des 30 derniers jours)
Ismail Qeshta
Ismail Qeshta le 21 Fév 2018
Commenté : Ismail Qeshta le 21 Fév 2018
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);

Réponse acceptée

Birdman
Birdman le 21 Fév 2018
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 commentaires
Birdman
Birdman le 21 Fév 2018
It is included as you can see there is a equality sign as well in the condition.
filecontent <= up
Ismail Qeshta
Ismail Qeshta le 21 Fév 2018
Great. Thank you very much Birdman. Your insightful responses were awesome as usual.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Power and Energy Systems dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by