Mathematica:获取每行不同列的最小值

时间:2016-03-14 13:40:38

标签: wolfram-mathematica

我已按以下格式从* .dat文件导入数据

(日期,时间,x值,y值,z值,矢量和,x频率,y频率,z频率):

18.02.2016 00:00:00 0.049896    0.013689    0.072710    0.086983    11  84  52
18.02.2016 00:01:00 0.048167    0.012106    0.061351    0.077970    149 102 52
18.02.2016 00:02:00 0.048765    0.012528    0.065641    0.081315    149 83  149
18.02.2016 00:03:00 0.048251    0.011859    0.060764    0.076809    149 7   149
18.02.2016 00:04:00 0.048007    0.012076    0.059913    0.076749    149 17  149
18.02.2016 00:05:00 0.048355    0.012759    0.067133    0.083064    149 149 149
18.02.2016 00:06:00 0.048973    0.013583    0.061963    0.079212    149 149 149
18.02.2016 00:07:00 0.057665    0.021322    0.105728    0.113308    9   149 149
18.02.2016 00:08:00 0.050364    0.013635    0.069397    0.084130    149 149 149
18.02.2016 00:09:00 0.048477    0.013015    0.061372    0.078093    149 9   9

现在我想获得每行的x-,y-,z-Frequency列的最小值,并将其存储为单个列。你会怎么做?

1 个答案:

答案 0 :(得分:1)

首先找到每行的每列最小值:

minFreq = Min /@ data[[All, -3 ;; -1]]
(* {11, 52, 83, 7, 17, 149, 149, 9, 149, 9} *)

然后将列插入数据(例如):

Transpose@Insert[Transpose@data, minFreq, -1] // MatrixForm