在MATLAB中从3个矩阵中获取坐标最大值

时间:2014-03-01 00:37:01

标签: matlab matrix max

假设我有3个矩阵 A B C 。我想创建一个包含矩阵最大值的新矩阵。

例如,让

A = [ a11 a12.. ] B = [b11 b12 ..] C = [c11 c12 ..]
    [ a21 a22.. ]     [b21 b22 ..]     [c21 c22 ..]

我希望以这种方式构建新矩阵

NewMatr = [max(a11,b11,c11) max(a12,b12,c12) .. ]
          [max(a21,b21,c21) max(a22,b22,c22) .. ]

我想把它们组合成新的矩阵,它将包含3x1向量并将max应用于这个新矩阵,但我不知道如何。 Pf当然总是有方法,但我正在进行优化。

2 个答案:

答案 0 :(得分:2)

除连接外,您还可以使用max的2输入版本,两次:

max(max(A,B),C)

关于这种有点不常见语法的max文档:

  

C = max(A,B)返回与AB大小相同的数组,其中最大元素取自ABAB的尺寸必须匹配,否则它们可能是标量。

答案 1 :(得分:1)

Concat沿着第三个昏暗(使用cat),然后沿着昏暗计算最大值(使用max):

NewMatr = max(cat(3,A,B,C),[],3);