两个列表的元素最大值

时间:2013-07-12 15:51:21

标签: wolfram-mathematica

给出两个Mathematica数据集,例如

data1 = {0, 1, 3, 4, 8, 9, 15, 6, 5, 2, 0};
data2 = {0, 1, 2, 5, 8, 7, 16, 5, 5, 2, 1};

如何创建一个集合,为我提供两个列表的最大值,即如何获取

data3 = {0, 1, 3, 5, 8, 9, 16, 6, 5, 2, 1};

3 个答案:

答案 0 :(得分:4)

data1 = {0, 1, 3, 4, 8, 9, 15, 6, 5, 2, 0};
data2 = {0, 1, 2, 5, 8, 7, 16, 5, 5, 2, 1};
Max /@ Transpose[{data1, data2}]
(* {0, 1, 3, 5, 8, 9, 16, 6, 5, 2, 1} *)

答案 1 :(得分:3)

另一种可能的解决方案是使用MapThread函数:

data3 = MapThread[Max, {data1, data2}]
然而,belisarius解决方案要快得多。

答案 2 :(得分:1)

最简单,但不是最快的:

Inner[Max,data1,data2,List]