Arrays exercise Maximum and Minimum values

3 ビュー (過去 30 日間)
Lenin Cruz
Lenin Cruz 2019 年 8 月 30 日
編集済み: Stephen23 2019 年 8 月 30 日
Hello,
I have this array
A=[1;0;0;4;5;6]
I want to get the maximum and minimum difference between the elements
MaxDiff= max(diff(A));
MinDiff= min(diff(A));
I would like to omit 'zero' in the calculations, so my output look like the two lines below. Which is not possible with the piece of code above
MaxDiff= 5
MinDiff= 1
Is there any way to do that without changing the size of my matrix A? it should be always 6 for future applications.
Thanks

回答 (1 件)

Stephen23
Stephen23 2019 年 8 月 30 日
編集済み: Stephen23 2019 年 8 月 30 日
>> B = nonzeros(A(:));
>> M = bsxfun(@minus,B,B.');
>> V = abs(M(~eye(numel(B))));
>> max(V)
ans = 5
>> min(V)
ans = 1

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by