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 comentario

Dyuman Joshi
Dyuman Joshi el 6 de Oct. de 2023
Editada: Dyuman Joshi el 21 de Oct. de 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

Iniciar sesión para comentar.

Respuestas (1)

Bruno Luong
Bruno Luong el 6 de Oct. de 2023
Editada: Bruno Luong el 6 de Oct. de 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

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Preguntada:

el 6 de Oct. de 2023

Editada:

el 21 de Oct. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by