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 件のコメント

Dyuman Joshi
Dyuman Joshi 2023 年 10 月 6 日
編集済み: Dyuman Joshi 2023 年 10 月 21 日
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

サインインしてコメントする。

回答 (1 件)

Bruno Luong
Bruno Luong 2023 年 10 月 6 日
編集済み: Bruno Luong 2023 年 10 月 6 日

1 投票

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

カテゴリ

ヘルプ センター および File ExchangeCreating and Concatenating Matrices についてさらに検索

質問済み:

2023 年 10 月 6 日

編集済み:

2023 年 10 月 21 日

Community Treasure Hunt

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

Start Hunting!

Translated by