Matlab 找到一系列数组的每个点的最大值和最小值(负值)

Matlab find the maximum and minimum value for each point of series of arrays (with negative values)

假设我们有下一系列数组:

A = [1, 2, -2, -24];
B = [1, 4, -7, -2];
C = [3, 1, -7, -14];
D = [11, 4, -7, -1];
E = [1, 2, -3, -4];
F = [5, 14, -17, -12];

我想创建两个数组, 第一个将是所有数组每列的最大值, 即

Maxi = [11,14,-2 -1];

第二个将是所有数组每列的最小值 即

Mini= [1,1,-17 -24];

我整天都在尝试,使用循环、max 和 abs,但我无法让它工作

在我的问题中有一个矩阵 (100,200),所以通过上面的示例,我试图轻松地解决这个问题。最终目标是让 200 x_points 的 100 y_lines 有点合适。这个想法是计算两条线(即最大,最小),这将是所有线的 "visual" 边界(每个 x 的最大值和最小值)。下一步将计算这两个数组的平均值的数组,因此最后将是所有行之间的一条线。

非常欢迎任何帮助!

这个怎么样?

假设您堆叠所有行向量,即A,B...,F as

arr=[A;B;C;D;E;F];% stack the vectors

然后使用Matlab提供的max()min()mean()功能。也就是说,

Maxi = max(arr); % Maxi is a row vector carrying the max of each column of arr

Mini = min(arr);
Meani = mean(arr);

你只需要像上图那样把它们叠起来。但是,如果您有 100 个行向量,请使用循环将它们堆叠到数组 arr 中,如上所示。