Multiple Maximas in multiple matrices

Hello,
I want to get multiple maximas of multiple matrices.
I got a solution to get the maxValue but it gives me one absolute max Value.
I want a output like this for this example:
max Value = [15 25 35]
% data
matrix1=[10:1:15];
matrix2=[15:1:25];
matrix3=[25:1:35];
%max
maxValue = max([matrix1(:);matrix2(:);matrix3(:)])
maxValue = 35

1 Comment

Hint: [] is the operator for a concatenation of arrays. 10:1:15 is a vector and [10:1:15] concatenates it with nothing. So this is a waste of time only.

Sign in to comment.

 Accepted Answer

% data
matrix1=[10:1:15];
matrix2=[15:1:25];
matrix3=[25:1:35];
%max
maxValue = cellfun(@max,{matrix1 matrix2 matrix3})
maxValue = 1×3
15 25 35

3 Comments

What? Really? Why are you messing with the complication and inefficiencies of cell arrays when a simple solution like I gave works fine? Personally I would not use this method because I try to avoid cell arrays unless absolutely necessary. Beginners especially have a hard time trying to figure out when to use parentheses and when to use braces when dealing with cell arrays.
@Eren Atar You're welcome!

Sign in to comment.

More Answers (1)

Try it this way, with max() inside the brackets:
% data
matrix1=[10:1:15];
matrix2=[15:1:25];
matrix3=[25:1:35];
%max
maxValue = [max(matrix1(:)); max(matrix2(:)); max(matrix3(:))]
maxValue = 3×1
15 25 35

Categories

Products

Release

R2020b

Asked:

on 14 Jun 2022

Commented:

on 14 Jun 2022

Community Treasure Hunt

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

Start Hunting!