Find maximum difference between two arrays

I have to arrays of the same size 1x101, how can I find the absolute maximum difference between the arrays?
This is what I tried but it is giving me the incorrect answer:
[m] = max( abs( A(1,101) - B(1,101) ))

1 commentaire

Dyuman Joshi
Dyuman Joshi le 6 Oct 2023
Modifié(e) : Dyuman Joshi le 21 Oct 2023
Because the code compares a single element i.e. (1,101), not the whole vectors.
Use this -
m = max(abs(A-B.'),[],'all');
For more information, refer to - Compatible Array Sizes for Basic Operations

Connectez-vous pour commenter.

Réponses (1)

Bruno Luong
Bruno Luong le 6 Oct 2023
Modifié(e) : Bruno Luong le 6 Oct 2023
No need to compare all the pairs
A = randn(1,101);
B = randn(1,101);
dmaxBruteForce = max(abs(A-B.'),[],'all')
dmaxBruteForce = 5.1894
dmaxSmart = max(abs([max(B)-min(A), max(A)-min(B)]))
dmaxSmart = 5.1894

Catégories

En savoir plus sur Operators and Elementary Operations dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by