多维数组的逐元素最大值

3

给定两个数组,如下所示:

A = [1 2  4 5; 
     6 11 3 54];

B = [2 2  6  3; 
     5 12 60 54];

我想生成数组:
C = [2 2  6  5; 
     6 12 60 54];

使用内置的MATLAB函数,即一行代码实现,不要用循环。需要注意的是,对于真实数据,我说的是非常大的多维数组。


6
根据这个元讨论:可能是如何在MATLAB中找到多个数组的最大值?的重复问题。答案可以在链接问题的正文中找到。 - Dev-iL
1
@Dev-iL 我认为链接的问题不算是重复的。是的,问题主体中确实有 max(x,y),但它是在完全不同的上下文中。那个问题陈述了这个命令将返回包含最大值的数组(实际上是不正确的),而这个问题是关于找到逐元素最大值的。如果有人阅读这个问题并且不知道答案,很可能不会意识到重复问题中的那一行实际上就是答案,因为那里没有任何内容来说明它的上下文。 - Dan
2
@Dan,使用min代替max是否可以作为一个可接受的重复问题?我们仍在讨论一个可以通过阅读文档解决的问题。 - Andras Deak -- Слава Україні
@AndrasDeak 非常接近了。唯一的区别是它接受向量而不是矩阵。就我个人而言,对于这个问题,我无论哪种方式都不介意。在这个问题上,我们同意需要查看手册。如果这里没有过于复杂的答案,说实话,我可能只会回复评论而不是回答。但是提供的答案让我想到,也许人们不知道 max 的特定用法。 - Dan
另一个类似的问题是这个:在两个数组中找到最大值,然后连接最大数组的单元格 - Dev-iL
1个回答

18

这正是 max 函数的默认行为:

C = max(A,B)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接