给出两个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};
答案 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]