5

给定两个 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};

?

4

3 回答 3

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} *)
于 2013-07-12T16:06:14.253 回答
3

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

data3 = MapThread[Max, {data1, data2}]

然而,belisarius 解决方案要快得多。

于 2013-07-12T18:04:57.490 回答
1

最简单但不是最快的:

Inner[Max,data1,data2,List]
于 2013-07-13T10:54:10.823 回答