Azzera filtri
Azzera filtri

How do i write a line to display all the values that didn't meet the requirement

1 visualizzazione (ultimi 30 giorni)
Limit = SigmaAp;
if any (SigmaAx > SigmaAp)
disp ('Some values above the limit.')
else
disp('All values are below the limit.')
end

Risposta accettata

Chris
Chris il 9 Nov 2021
Modificato: Chris il 9 Nov 2021
SigmaAp = 5;
SigmaAx = randi(9,5,1)
SigmaAx = 5×1
8 6 2 2 6
idxs = find(SigmaAx>SigmaAp)
idxs = 3×1
1 2 5
disp('Values over the limit:');disp(SigmaAx(idxs))
Values over the limit: 8 6 6

Più risposte (1)

Image Analyst
Image Analyst il 9 Nov 2021
Try this:
SigmaAp = 5.1;
SigmaAx = randi(9, 10, 1)
% Get a logical index of locations where SigmaAx > SigmaAp
aboveThresholdIndexes = find(SigmaAx > SigmaAp)
if ~isempty(aboveThresholdIndexes)
fprintf('These values are above the limit of %f:\n', SigmaAp)
% Print out what values are high, and their location:
for k = 1 : length(aboveThresholdIndexes)
fprintf('%f at index %d.\n', SigmaAx(aboveThresholdIndexes(k)), aboveThresholdIndexes(k));
end
else
fprintf('All values are below the limit of %f.\n', SigmaAp)
end
You'll see
SigmaAx =
7
3
5
7
9
9
5
2
2
3
aboveThresholdIndexes =
1
4
5
6
These values are above the limit of 5.100000:
7.000000 at index 1.
7.000000 at index 4.
9.000000 at index 5.
9.000000 at index 6.

Categorie

Scopri di più su Data Types in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by