这个问题是上一个线程的延续,用于比较具有相同长度的两个列表:
是否有任何有效的简单方法可以将两个具有相同长度的列表与 Mathematica 进行比较?
给定两个列表A={a1,a2,a3,...an}
and B={b1,b2,b3,...bn}
,我会说A>=B
当且仅当 all ai>=bi
。现在我们有了k
列表H={{a11,a12,a13,...a1n}, {a21,a22,a23,...a2n},...,{ak1,ak2,ak3,...akn}}
,如果存在的话,我们想找到最大的列表。
这是我的代码:
Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h
有什么更好的技巧来做到这一点?
编辑:
我想将其定义为如下函数:
maxList[H_]:=Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}];h
但问题是上面的代码跨越了两行,有什么解决办法吗?这是一些有效的代码,但不是那么漂亮
maxList[H_] := Module[{h = H[[1]]}, Do[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, Length[H]}]; h]
或者
maxList[H_]:=Last[Table[If[NonNegative[Min[H[[i]] - h]], h = H[[i]], ## &[]], {i, h = H[[1]]; 1, Length[H]}]]