总结自定义轴

时间:2010-11-16 21:00:04

标签: wolfram-mathematica

从长度为Array的{​​{1}} arrListlst开始,在指定轴上求和的最佳方法是什么在k?在lst时,这与lst={1,2,...,m}

相同

示例:

Nest[Total,arr,m]

然后arr = Array[a, {2, 3, 4}]; 的维度为f[arr,{1}]{3,4}的维度为f[arr,{2}]{2,4}的维度为f[arr,{2,3}],{{1} }将有头{2}和尺寸f[arr,{1,2,3}]

2 个答案:

答案 0 :(得分:1)

Fold[Total[#, {#2}]&, arr, lst]能做你想做的吗?

<强>更新

这个怎么样?

f[arr_, lst_] :=
  Fold[Total[#, {#2}] &, arr, Sort[lst, Greater]]

(以及@belisarius的帽子提示=))

答案 1 :(得分:0)

这样做你想要的吗?

f[arr_, coords_] :=
 With[{perm = 
    Ordering[
     Join[coords, Complement[Range[TensorRank[arr]], coords]]]},
  Total[Transpose[arr, perm], Length[coords]]
  ]