MATLAB: Maximum value array of multiple arrays

arrayfindMATLABmaximumminimum

Suppose I have many arrays or vectors of data
A, B, C ….etc
I can create an array which has the maximum and minimum values using the max min function when I compare two arrays:
A = [1 2 3];
B = [3 2 1];
maximum = max(A,B)
minimum = min(A,B)
But for a third, fourth fifth array, this does not seem to work:
A = [1 2 3];
B = [3 2 1];
C = [2 3 2];
maximum = max(A,B,C)
minimum = min(A,B,C)
I am looking for a simple method to create an array of maximum and minimum values for many input arrays – I guess I am missing something obvious? I am working with many arrays (many hundreds) which each contain tens of thousands of data points. I can write a loop which finds the maximum of A&B and C&D then finds the maximum of AB and CD; then the maximum of ABCD and EFGH… and so on; but this seems labourious.
thanks in advance.

Best Answer

Put the data into one array and use the third dim argument:
arr = cat(3,A,B,C,...)
min(arr,[],3)
max(arr,[],3)
If arr is too large to fit into your computer's memory, then either:
  • use a loop,
  • concatenate subsets of the arrays at a time, using min / max with the dim argument each time.