- the maximum of 1 and 10 is 10
- the maximum of 3 and 6 is 6
- the maximum of 5 and 4 is 5
Doubt regarding max(A,B).
4 ビュー (過去 30 日間)
古いコメントを表示
A=[1 3 5]
B=[10 6 4]
Why is max(A,B) as [10 6 5]?
It should be [5 10]
0 件のコメント
回答 (2 件)
Stephen23
2021 年 8 月 21 日
編集済み: Stephen23
2021 年 8 月 21 日
"Why is max(A,B) as [10 6 5]?"
Because that syntax provides an element-wise comparison of the two input arrays, taking the maximum value from either one of the input arrays:
"It should be [5 10]"
No, it should not be.
What are are expecting is the maximum of each row of one matrix (not comparing the elements of two different arrays):
max([A;B],[],2)
Note that in some other languages the two functionalities are considered as different functions, e.g. in numpy they are amax and maximum respectively.
1 件のコメント
Steven Lord
2021 年 8 月 21 日
I suspect the original poster's mental model may have been that max(A, B) is [max(A), max(B)] and max(A, B, C, ...) is the same as [max(A), max(B), max(C), ...]. But as many people have said in this discussion, that is incorrect. If A and B are the same size each element of the output of max(A, B) is the maximum of the corresponding elements of A and B.
A=[1 3 5];
B=[10 6 4];
C_allAtOnce = max(A, B)
C_oneAtATime = [max(A(1), B(1)), max(A(2), B(2)), max(A(3), B(3))]
Compare with:
maxOfEachVector = [max(A), max(B)]
VBBV
2021 年 8 月 21 日
%f true max([A B]) max([A;B])
The first would give 10 as max value. The second would give 10 6 5 as max values along each column
6 件のコメント
Stephen23
2021 年 8 月 21 日
編集済み: Stephen23
2021 年 8 月 21 日
"read the doc page of max for more clarity"
The english is unlcear: is that is an imperative (for me? for the OP?) or past tense of what you have done.
Is this intended to replace your incorrect advice regarding the MAX/MIN syntax with two input arrays?
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!