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

3 ビュー (過去 30 日間)
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.

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by