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

2 ビュー (過去 30 日間)
George Adomako Kumi
George Adomako Kumi 2021 年 11 月 9 日
回答済み: Image Analyst 2021 年 11 月 9 日
Limit = SigmaAp;
if any (SigmaAx > SigmaAp)
disp ('Some values above the limit.')
else
disp('All values are below the limit.')
end

採用された回答

Chris
Chris 2021 年 11 月 9 日
編集済み: Chris 2021 年 11 月 9 日
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

その他の回答 (1 件)

Image Analyst
Image Analyst 2021 年 11 月 9 日
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.

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by