max of two arrays one being empty returns the empty array
6 views (last 30 days)
Show older comments
i need to find maximum of elements of two arrays. if one is empty, Max function always returns the empty one. For ex: A=[]; B=[5]; max(A,B) returns [].
How to solve the problem ?
0 Comments
Answers (2)
BhaTTa
on 22 Oct 2024
Edited: Walter Roberson
on 22 Oct 2024
Hey @Harish Dhanasekaran Velayutha Rajan, I assume that if one of the array among 'A' or 'B' is empty you need to return [], or else you need to return maximum element, below I have attached the logic for the same, please take it as a reference and implement your function accordingly:
% Define the arrays
A = [3,4,6,7];
B = [5];
% Check if either array is empty and handle accordingly
if isempty(A) || isempty(B)
maxValue = [];
else
% Both arrays are non-empty, return the maximum of both
maxValue = max(max(A), max(B));
end
% disp(maxValue); you can enclose the code block inside a function and return the maxValue.
Hope it helps.
0 Comments
Walter Roberson
on 22 Oct 2024
This is the way that max() is defined: the maximum of an empty array is an empty array.
A=[]; B=[5];
max(A,B)
max(B,A)
However, if the second array is empty and further options were provided, then it is treated as a special syntax and takes the maximum of the first array subject to the options.
max(B,A,1)
max(A,B,1)
0 Comments
See Also
Categories
Find more on Multidimensional Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!